-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* File Transfer Unable to transfer all files in one commit, so I have to manually transfer them in small batches. * asdf adsf * asdfas asdfadsf * asdfsadf asdfasdf * zcv zcvxc * qerqewr qwerqwer * tqrt qeqwre * rtert qetwwet * retert qrtqwet * qwerqwer qwetqwet * ertytry etryetr * qwerqrz zcva * qwerqwe qewrqwer * qerqwezc cvzxvcqewr * qerqwer afdadfsz * qerqrwqe asdfasdzxcv * qerqwer zxvczxvc * qerwq qw * qwerqw zxcv * qwerwer dsafasf * qewrqwer qereqwr * eqwrwer qwerqwer * qwerqwre qewrqwr * trye wertre * ret ertwet * retet qwerqw * qwerq qwrqwer * qwerr qwerwe * qwerqwrqwer qwerwr * e q * wreq * qerwr * trete * zcvb * 134 * 234524 * 2345 * 345325 * 6456 * 234523 * 3245 * 263345 * 2542345 * 23535 * 2345234 * 2345 * 2345345 * 35245 * 23453245 * 234535 * 2345 * 346 * 2452435 * 452345 * 4135234 * 4234524 * 5626 * 4351 * 24362 * 43145 * 5642 * 7897 * 12341 * 46215 * 1241234 * 2134 1423
- Loading branch information
1 parent
19c4180
commit ae6a48f
Showing
320 changed files
with
17,595 additions
and
0 deletions.
There are no files selected for viewing
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
settings = | ||
{ | ||
orientation = | ||
{ | ||
default = "portrait", | ||
}, | ||
plugins = | ||
{ | ||
-- key is the name passed to Lua's 'require()' | ||
["plugin.bit"] = | ||
{ | ||
-- required | ||
publisherId = "com.coronalabs", | ||
}, | ||
}, | ||
iphone = | ||
{ | ||
plist= | ||
{ | ||
UIStatusBarHidden=true, | ||
UIApplicationExitsOnSuspend = true | ||
}, | ||
}, | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
instead of tile.outside_players/tile.inside_players do | ||
|
||
tile.players = {} | ||
tile.players.inside = {} | ||
tile.players.outside = {} | ||
OR | ||
tile.inside = {} | ||
tile.outside = {} | ||
|
||
instead of | ||
tile.players[player] = player | ||
|
||
do as an array | ||
tile.players[#tile.players] = player | ||
|
||
in all classes remove getClass(), getClassName(), getName() and put it into middleclass functions as a external lib... |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,87 @@ | ||
local class = require('libs/middleclass') | ||
local bit = require('bit') | ||
local band, bor, bxor, bnot = bit.band, bit.bor, bit.bxor, bit.bnot | ||
local flags = require('player/skills/flags') | ||
local s_list = require('player/skills/list') | ||
|
||
local skills = class('skills') | ||
local default_slots = 12 | ||
|
||
function skills:initialize() | ||
self.flags = 0 | ||
self.slots = default_slots | ||
end | ||
|
||
function skills:getFlags() return self.flags end | ||
|
||
function skills:isSlotAvailable() return self.slots > 0 end | ||
|
||
function skills:updateSlots(num) self.slots = self.slots + num end | ||
|
||
-- class prices, 100, 200, 350, 550 | ||
-- skill buy formula (y = .2*(x)^2 + .25*(x) + 50) | ||
function skills:buy(player, skill) | ||
local player_mob_type = player:getMobType() | ||
local slot_open = player.skills:isSlotAvailable() | ||
local xp = player:getXP() | ||
|
||
local cost = s_list:getCost(skill) | ||
local required_flags = s_list:getRequiredFlags(skill) | ||
local skill_mob_type = s_list:getMobType(skill) | ||
local innate = s_list:isInnate(skill) | ||
local memory = s_list:getMemory(skill) | ||
--print('[skills:buy]', 'player.xp='..xp, 'skill['..skill..'] cost='..cost) | ||
|
||
-- should return error msgs? | ||
if xp < cost then return error('not enough xp') end | ||
if skill_mob_type ~= player_mob_type then return false end | ||
if not player:isStanding() then return false end | ||
|
||
--[[ | ||
if required_flags ~= 0 then | ||
print('required_flags='..required_flags) | ||
print('skills:check - ', player.skills:check(required_flags)) | ||
end | ||
--]] | ||
|
||
if required_flags ~= 0 and not player.skills:check(required_flags) then return false end | ||
|
||
|
||
if not innate and not slot_open then return false end | ||
|
||
player:updateXP( (-1)*cost) | ||
|
||
if innate then | ||
player.skills:add(skill) | ||
if memory then player.skills:updateSlots(memory) end | ||
else | ||
player.skills:add(skill) | ||
player.skills:updateSlots(-1) | ||
end | ||
end | ||
|
||
local function lookupFlags(skills) | ||
local array = {} | ||
for i, skill in ipairs(skills) do | ||
print('[player/skills/class lookupFlags] - '..skill, flags[skill]) | ||
if not flags[skill] then return error('Skill does not exist') end | ||
array[i] = flags[skill] end | ||
return array | ||
end | ||
|
||
local function combineFlags(requirements) | ||
local list = lookupFlags(requirements) | ||
return bor(unpack(list)) | ||
end | ||
|
||
function skills:check(skill_flag) | ||
--print('self.flags='..self.flags, 'skill_flag='..skill_flag) | ||
return band(self:getFlags(), skill_flag) > 0 end | ||
|
||
function skills:add(skill) | ||
--print('self.flags - ', self.flags,'flags[skill]', flags[skill]) | ||
self.flags = bor(self.flags, flags[skill]) end | ||
|
||
function skills:remove(skill) self.flags = band(self.flags, bnot(flags[skill])) end | ||
|
||
return skills |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,79 @@ | ||
-- 64 skills max (4 are classes/4 are slots) | ||
|
||
-- 56 skills 5 cataegories (16 general skills, 10 in each skill tree [4x10 = 40] ) | ||
--start,300,350,400,500xp | ||
-- 12, 14, 12, 10, 8 | ||
|
||
local skill_flags = { | ||
military = 1, | ||
medical = 2, | ||
science = 4, | ||
engineering = 8, | ||
|
||
brute = 1, | ||
sentient = 2, | ||
hunter = 4, | ||
hive = 8, | ||
|
||
slot26 = 16, | ||
slot38 = 32, | ||
slot48 = 64, | ||
slot56 = 128, | ||
} -- The numbers start to get REALLY big soooo time to *2 our bitflags | ||
|
||
--[[ | ||
--- HUMAN | ||
--]] | ||
|
||
-- General | ||
skill_flags.roof_travel = skill_flags.slot56*2 | ||
skill_flags.melee = skill_flags.roof_travel*2 | ||
skill_flags.stabbing = skill_flags.melee*2 | ||
skill_flags.swinging = skill_flags.stabbing*2 | ||
skill_flags.ranged = skill_flags.swinging*2 | ||
|
||
-- Military | ||
skill_flags.melee_adv = skill_flags.ranged*2 | ||
skill_flags.stabbing_adv = skill_flags.melee_adv*2 | ||
skill_flags.swinging_adv = skill_flags.stabbing_adv*2 | ||
skill_flags.ranged_adv = skill_flags.swinging_adv*2 | ||
skill_flags.weapon_expert = skill_flags.ranged_adv*2 | ||
|
||
-- Medical | ||
skill_flags.diagnosis = skill_flags.weapon_expert*2 | ||
skill_flags.diagnosis_adv = skill_flags.diagnosis*2 | ||
skill_flags.first_aid = skill_flags.diagnosis_adv*2 | ||
skill_flags.surgery = skill_flags.first_aid*2 | ||
|
||
-- Science | ||
skill_flags.lab_tech = skill_flags.surgery*2 | ||
skill_flags.researcher = skill_flags.lab_tech*2 | ||
|
||
-- Engineering | ||
skill_flags.repairs = skill_flags.researcher*2 | ||
skill_flags.repairs_adv = skill_flags.repairs*2 | ||
|
||
--[[ | ||
--- ZOMBIE | ||
--]] | ||
|
||
-- General | ||
|
||
skill_flags.groan = skill_flags.slot56*2 | ||
|
||
-- Brute | ||
|
||
-- Hunter | ||
|
||
-- Sentient | ||
|
||
-- Hive | ||
|
||
--[[ | ||
print() | ||
print('SKILL_FLAGS LIST') | ||
print() | ||
for k,v in pairs(skill_flags) do print(k,v) end | ||
--]] | ||
|
||
return skill_flags |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,141 @@ | ||
local skill_flags = require('player/skills/flags') | ||
local skill_list = {} | ||
local bit = require('bit') | ||
local band, bor, bxor, bnot = bit.band, bit.bor, bit.bxor, bit.bnot | ||
|
||
--[[ | ||
skill = {name='string', desc='string', innate=true/nil, requires={'skill_name1', 'skill_name2', etc.}/nil} | ||
--]] | ||
|
||
local skill_info = { | ||
zombie = { | ||
general = {}, | ||
brute = {}, | ||
sentient = {}, | ||
hunter = {}, | ||
hive = {}, | ||
}, | ||
human = { | ||
general = { | ||
engineering = {name='engineering', desc='Unlock Engineering skills', innate=true,}, | ||
military = {name='military', desc='Unlock Military skills', innate=true,}, | ||
science = {name='science', desc='Unlock Science skills', innate=true,}, | ||
medical = {name='medical', desc='Unlock Medical skills', innate=true,}, | ||
|
||
melee = {name='melee', desc='Melee weapons +5% to-hit'}, | ||
cutting = {name='cutting', desc='Blade weapons +10% to-hit', requires={'melee'},}, | ||
swinging = {name='swinging', desc='Blunt weapons +10% to-hit', requires={'melee'},}, | ||
smacking = {name='smacking', desc='Light blunt weapons +15 to-hit', requires={'swinging'},}, | ||
martial_arts = {name='martial arts', desc='Hand-to-hand combat +15 to-hit', requires={'melee'}, }, | ||
ranged = {name='ranged', desc='Ranged weapons +5% to-hit'}, | ||
roof_travel = {name='roof travel', desc='Travel through buildings'}, | ||
hp_bonus = {name='hp bonus', desc='Bonus +10 hp',}, | ||
ip_bonus = {name='ip bonus', desc='Bonus +10 ip', requires={'hp_bonus'},}, | ||
looting = {name='looting', desc='bonus for searching',}, | ||
}, | ||
|
||
military = { | ||
ranged_adv = {name='ranged advanced', desc='Ranged weapons +10% to-hit'}, | ||
guns = {}, | ||
shotguns = {}, | ||
handguns = {}, | ||
rifles = {}, | ||
archery = {}, | ||
bows = {}, | ||
melee_adv = {name='melee advanced', desc='Melee weapons +10% to-hit'}, | ||
chopping = {}, | ||
slicing = {}, | ||
smashing = {}, | ||
--stabbing_adv = {name='slice & dice', desc='Blade weapons +15% to-hit', requires={'melee_adv'},}, | ||
--swinging_adv = {name='melee master', desc='Blunt weapons +15% to-hit', requires={'melee_adv'},}, | ||
explosives = {name='explosives', desc='Scorch weapons +10% to-hit'}, | ||
}, | ||
medical = { | ||
diagnosis = {name='check up', desc='Determine VAGUE health status'}, | ||
diagnosis_adv = {name='diagnosis', desc='Determine PRECISE health status', requires={'diagnosis'},}, | ||
first_aid = {name='first aid', desc='First Aid Kits give +10 hp',}, | ||
surgery = {name='surgery', desc='First Aid Kits give +15 hp in powered hospital', requires={'first_aid'},}, | ||
}, | ||
science = { | ||
lab_tech = {name='lab tech', desc='Gain ability to use science equipment',}, | ||
researcher = {name='researcher', desc='Gain ability to tag zombies and track via terminals',}, | ||
computer_tech = {}, -- terminals installed/repaired/use at less ap | ||
}, | ||
engineering = { | ||
construction = {}, | ||
repairs = {name='basic repairs', desc='Gain ability to repair equipment',}, | ||
repairs_adv= {name='advanced repairs',desc='Gain ability to repair ruined buildings',}, | ||
renovate = {} -- repair ruins | ||
barricade = {}, -- barricade past very strongly? | ||
barricade_adv= {name='pack rat', desc='Build better barricades',}, -- +1 to all barricades | ||
reinforce = {}, -- extend max barricade limit more easier | ||
tech = {}, | ||
power_tech = {}, -- generators installed/repaired at less ap | ||
radio_tech = {}, | ||
computer_tech = {}, | ||
|
||
reserve = {} -- toolbox durability increased | ||
}, | ||
}, | ||
} | ||
|
||
-- 64 skills max (4 are classes) | ||
-- 60 skills 5 cataegories (12 general skills, 12 in each skill tree) | ||
|
||
--[[ | ||
print() | ||
print('SKILL_FLAGS LIST') | ||
print() | ||
for k,v in pairs(skill_flags) do print(k,v) end | ||
--]] | ||
|
||
local function lookupFlags(skills) | ||
local array = {} | ||
for i, skill in ipairs(skills) do array[i] = skill_flags[skill] end | ||
return array | ||
end | ||
|
||
local function combineFlags(requirements) | ||
local list = lookupFlags(requirements) | ||
return bor(unpack(list)) | ||
end | ||
|
||
local function fillList(list) | ||
for mob_type in pairs(skill_info) do | ||
for skill_tree in pairs(skill_info[mob_type]) do | ||
for skill, data in pairs(skill_info[mob_type][skill_tree]) do | ||
list[skill] = data | ||
list[skill].mob_type = mob_type | ||
list[skill].category = skill_tree | ||
|
||
list[skill].requires = list[skill].requires or {} | ||
list[skill].requires[#list[skill].requires+1] = (skill_tree ~= 'general' and skill_tree) or nil | ||
--print('skill - '..skill, 'skill_tree - '..skill_tree) | ||
local requirements = list[skill].requires | ||
list[skill].required_flags = next(requirements) and combineFlags(requirements) or 0 | ||
--print('skill - '..skill, 'flags - '..list[skill].flags) | ||
end | ||
end | ||
end | ||
return list | ||
end | ||
|
||
do -- combine zombie/human skills into one list | ||
skill_list = fillList(skill_list) | ||
end | ||
|
||
function skill_list:getCost(skill) return skill_list[skill].cost end | ||
|
||
function skill_list:getRequirement(skill) return skill_list[skill].requires end | ||
|
||
function skill_list:getRequiredFlags(skill) return skill_list[skill].required_flags end | ||
|
||
function skill_list:getMobType(skill) return skill_list[skill].mob_type end | ||
|
||
function skill_list:getMemory(skill) return skill_list[skill].memory end | ||
|
||
function skill_list:isInnate(skill) return skill_list[skill].innate end | ||
|
||
function skill_list:isMemory(skill) return skill_list[skill].memory and true or false end | ||
|
||
return skill_list |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
Police Station | ||
|
||
Desc | ||
|
||
Lights/Ruin/decorations | ||
|
||
Spraypaint | ||
|
||
Deadbodies/Players | ||
|
||
|
||
You are standing [outside/inside] [building name], building desc. The building has been [cade level]. |
Oops, something went wrong.