mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-07-10 23:54:14 +01:00
Mob Initialization (#24840)
* Mob Initialization * new_player Repath * Fix the dme * Fix the shit * Fix a loc * Fix another loc * But, in my haste, I forgot the cola! * Another loc * ANOTHER LOC * Further docs * Where'd that s come from * Fix shit * Better
This commit is contained in:
@@ -6,7 +6,7 @@
|
||||
var/datum/action/quit_vr/quit_action
|
||||
|
||||
|
||||
/mob/living/carbon/human/virtual_reality/New()
|
||||
/mob/living/carbon/human/virtual_reality/Initialize()
|
||||
..()
|
||||
quit_action = new()
|
||||
quit_action.Grant(src)
|
||||
|
||||
@@ -1339,7 +1339,7 @@
|
||||
log_admin("[key_name(usr)] has sent [key_name(M)] back to the Lobby.")
|
||||
message_admins("[key_name(usr)] has sent [key_name(M)] back to the Lobby.")
|
||||
|
||||
var/mob/new_player/NP = new()
|
||||
var/mob/dead/new_player/NP = new()
|
||||
NP.ckey = M.ckey
|
||||
qdel(M)
|
||||
|
||||
@@ -1525,7 +1525,7 @@
|
||||
|
||||
var/mob/M = locate(href_list["makeanimal"])
|
||||
if(isnewplayer(M))
|
||||
to_chat(usr, "This cannot be used on instances of type /mob/new_player.")
|
||||
to_chat(usr, "This cannot be used on instances of type /mob/dead/new_player.")
|
||||
return
|
||||
|
||||
usr.client.cmd_admin_animalize(M)
|
||||
|
||||
@@ -41,7 +41,7 @@
|
||||
/obj/item/projectile/magic/death, /obj/item/projectile/magic/teleport, /obj/item/projectile/magic/door, /obj/item/projectile/magic/aoe/fireball,
|
||||
/obj/item/projectile/magic/spellblade, /obj/item/projectile/magic/arcane_barrage)
|
||||
|
||||
/mob/living/simple_animal/hostile/carp/ranged/New()
|
||||
/mob/living/simple_animal/hostile/carp/ranged/Initialize()
|
||||
projectiletype = pick(allowed_projectile_types)
|
||||
..()
|
||||
|
||||
|
||||
@@ -129,7 +129,7 @@
|
||||
layer = 4
|
||||
var/timer = 0
|
||||
|
||||
/mob/living/simple_animal/shade/howling_ghost/New()
|
||||
/mob/living/simple_animal/shade/howling_ghost/Initialize()
|
||||
..()
|
||||
icon_state = pick("ghost","ghostian","ghostian2","ghostking","ghost1","ghost2")
|
||||
icon_living = icon_state
|
||||
@@ -193,7 +193,7 @@
|
||||
unsuitable_atmos_damage = 0
|
||||
var/timer
|
||||
|
||||
/mob/living/simple_animal/hostile/retaliate/clown/insane/New()
|
||||
/mob/living/simple_animal/hostile/retaliate/clown/insane/Initialize()
|
||||
..()
|
||||
timer = rand(5,15)
|
||||
status_flags = (status_flags | GODMODE)
|
||||
|
||||
@@ -144,7 +144,7 @@
|
||||
/datum/holiday/april_fools/celebrate()
|
||||
if(ticker)
|
||||
ticker.login_music = 'sound/ambience/clown.ogg'
|
||||
for(var/mob/new_player/P in mob_list)
|
||||
for(var/mob/dead/new_player/P in mob_list)
|
||||
if(P.client)
|
||||
P.stopLobbySound()
|
||||
P.client.playtitlemusic()
|
||||
|
||||
@@ -6,9 +6,9 @@
|
||||
icon_state = "construction_drone"
|
||||
var/area/starting_area
|
||||
|
||||
mob/camera/aiEye/remote/base_construction/New(loc)
|
||||
starting_area = get_area(loc)
|
||||
/mob/camera/aiEye/remote/base_construction/Initialize()
|
||||
..()
|
||||
starting_area = get_area(loc)
|
||||
|
||||
/mob/camera/aiEye/remote/base_construction/setLoc(var/t)
|
||||
var/area/curr_area = get_area(t)
|
||||
|
||||
@@ -48,7 +48,7 @@
|
||||
var/datum/action/innate/minedrone/toggle_mode/toggle_mode_action
|
||||
var/datum/action/innate/minedrone/dump_ore/dump_ore_action
|
||||
|
||||
/mob/living/simple_animal/hostile/mining_drone/New()
|
||||
/mob/living/simple_animal/hostile/mining_drone/Initialize()
|
||||
..()
|
||||
toggle_light_action = new()
|
||||
toggle_light_action.Grant(src)
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
//Dead mobs can exist whenever. This is needful
|
||||
/mob/dead/New(loc)
|
||||
..()
|
||||
if(!initialized)
|
||||
args[1] = FALSE
|
||||
Initialize(arglist(args)) //EXIST DAMN YOU!!!
|
||||
|
||||
/mob/dead/dust() //ghosts can't be vaporised.
|
||||
return
|
||||
|
||||
/mob/dead/gib() //ghosts can't be gibbed.
|
||||
return
|
||||
@@ -1,5 +0,0 @@
|
||||
/mob/dead/dust() //ghosts can't be vaporised.
|
||||
return
|
||||
|
||||
/mob/dead/gib() //ghosts can't be gibbed.
|
||||
return
|
||||
@@ -1,4 +1,4 @@
|
||||
/mob/new_player/Login()
|
||||
/mob/dead/new_player/Login()
|
||||
if(!mind)
|
||||
mind = new /datum/mind(key)
|
||||
mind.active = 1
|
||||
@@ -1,4 +1,4 @@
|
||||
/mob/new_player/Logout()
|
||||
/mob/dead/new_player/Logout()
|
||||
ready = 0
|
||||
..()
|
||||
if(!spawning)//Here so that if they are spawning and log out, the other procs can play out and they will have a mob to come back to.
|
||||
+17
-14
@@ -1,6 +1,6 @@
|
||||
|
||||
|
||||
/mob/new_player
|
||||
/mob/dead/new_player
|
||||
var/ready = 0
|
||||
var/spawning = 0//Referenced when you want to delete the new_player later on in the code.
|
||||
|
||||
@@ -15,7 +15,10 @@
|
||||
anchored = 1 // don't get pushed around
|
||||
var/mob/living/new_character //for instant transfer once the round is set up
|
||||
|
||||
/mob/new_player/New()
|
||||
/mob/dead/new_player/Initialize()
|
||||
if(initialized)
|
||||
stack_trace("Warning: [src]([type]) initialized multiple times!")
|
||||
initialized = TRUE
|
||||
tag = "mob_[next_mob_id++]"
|
||||
mob_list += src
|
||||
|
||||
@@ -28,7 +31,7 @@
|
||||
else
|
||||
loc = locate(1,1,1)
|
||||
|
||||
/mob/new_player/proc/new_player_panel()
|
||||
/mob/dead/new_player/proc/new_player_panel()
|
||||
|
||||
var/output = "<center><p><a href='byond://?src=\ref[src];show_preferences=1'>Setup Character</A></p>"
|
||||
|
||||
@@ -70,7 +73,7 @@
|
||||
popup.open(0)
|
||||
return
|
||||
|
||||
/mob/new_player/Stat()
|
||||
/mob/dead/new_player/Stat()
|
||||
..()
|
||||
|
||||
if(statpanel("Lobby"))
|
||||
@@ -88,7 +91,7 @@
|
||||
stat("Players Ready:", "[ticker.totalPlayersReady]")
|
||||
|
||||
|
||||
/mob/new_player/Topic(href, href_list[])
|
||||
/mob/dead/new_player/Topic(href, href_list[])
|
||||
if(src != usr)
|
||||
return 0
|
||||
|
||||
@@ -273,7 +276,7 @@
|
||||
return
|
||||
to_chat(src, "<span class='notice'>Vote successful.</span>")
|
||||
|
||||
/mob/new_player/proc/IsJobAvailable(rank)
|
||||
/mob/dead/new_player/proc/IsJobAvailable(rank)
|
||||
var/datum/job/job = SSjob.GetJob(rank)
|
||||
if(!job)
|
||||
return 0
|
||||
@@ -295,7 +298,7 @@
|
||||
return 1
|
||||
|
||||
|
||||
/mob/new_player/proc/AttemptLateSpawn(rank)
|
||||
/mob/dead/new_player/proc/AttemptLateSpawn(rank)
|
||||
if(!IsJobAvailable(rank))
|
||||
to_chat(src, alert("[rank] is not available. Please try another."))
|
||||
return 0
|
||||
@@ -369,7 +372,7 @@
|
||||
ticker.mode.make_antag_chance(humanc)
|
||||
qdel(src)
|
||||
|
||||
/mob/new_player/proc/AddEmploymentContract(mob/living/carbon/human/employee)
|
||||
/mob/dead/new_player/proc/AddEmploymentContract(mob/living/carbon/human/employee)
|
||||
//TODO: figure out a way to exclude wizards/nukeops/demons from this.
|
||||
sleep(30)
|
||||
for(var/C in employmentCabinets)
|
||||
@@ -378,7 +381,7 @@
|
||||
employmentCabinet.addFile(employee)
|
||||
|
||||
|
||||
/mob/new_player/proc/LateChoices()
|
||||
/mob/dead/new_player/proc/LateChoices()
|
||||
var/mills = world.time - round_start_time // 1/10 of a second, not real milliseconds but whatever
|
||||
//var/secs = ((mills % 36000) % 600) / 10 //Not really needed, but I'll leave it here for refrence.. or something
|
||||
var/mins = (mills % 36000) / 600
|
||||
@@ -439,7 +442,7 @@
|
||||
popup.open(0) // 0 is passed to open so that it doesn't use the onclose() proc
|
||||
|
||||
|
||||
/mob/new_player/proc/create_character(transfer_after)
|
||||
/mob/dead/new_player/proc/create_character(transfer_after)
|
||||
spawning = 1
|
||||
close_spawn_windows()
|
||||
|
||||
@@ -461,24 +464,24 @@
|
||||
if(transfer_after)
|
||||
transfer_character()
|
||||
|
||||
/mob/new_player/proc/transfer_character()
|
||||
/mob/dead/new_player/proc/transfer_character()
|
||||
. = new_character
|
||||
if(.)
|
||||
new_character.key = key //Manually transfer the key to log them in
|
||||
new_character.stopLobbySound()
|
||||
|
||||
/mob/new_player/proc/ViewManifest()
|
||||
/mob/dead/new_player/proc/ViewManifest()
|
||||
var/dat = "<html><body>"
|
||||
dat += "<h4>Crew Manifest</h4>"
|
||||
dat += data_core.get_manifest(OOC = 1)
|
||||
|
||||
src << browse(dat, "window=manifest;size=387x420;can_close=1")
|
||||
|
||||
/mob/new_player/Move()
|
||||
/mob/dead/new_player/Move()
|
||||
return 0
|
||||
|
||||
|
||||
/mob/new_player/proc/close_spawn_windows()
|
||||
/mob/dead/new_player/proc/close_spawn_windows()
|
||||
|
||||
src << browse(null, "window=latechoices") //closes late choices window
|
||||
src << browse(null, "window=playersetup") //closes the player setup window
|
||||
@@ -2,7 +2,7 @@
|
||||
var/optionid
|
||||
var/optiontext
|
||||
|
||||
/mob/new_player/proc/handle_player_polling()
|
||||
/mob/dead/new_player/proc/handle_player_polling()
|
||||
if(!dbcon.IsConnected())
|
||||
to_chat(usr, "<span class='danger'>Failed to establish database connection.</span>")
|
||||
return
|
||||
@@ -19,7 +19,7 @@
|
||||
output += "</table>"
|
||||
src << browse(output,"window=playerpolllist;size=500x300")
|
||||
|
||||
/mob/new_player/proc/poll_player(pollid)
|
||||
/mob/dead/new_player/proc/poll_player(pollid)
|
||||
if(!pollid)
|
||||
return
|
||||
if (!dbcon.Connect())
|
||||
@@ -323,7 +323,7 @@
|
||||
src << browse(output,"window=playerpoll;size=500x500")
|
||||
return
|
||||
|
||||
/mob/new_player/proc/poll_check_voted(pollid, text = FALSE)
|
||||
/mob/dead/new_player/proc/poll_check_voted(pollid, text = FALSE)
|
||||
var/table = "poll_vote"
|
||||
if (text)
|
||||
table = "poll_textreply"
|
||||
@@ -342,7 +342,7 @@
|
||||
return .
|
||||
|
||||
|
||||
/mob/new_player/proc/vote_rig_check()
|
||||
/mob/dead/new_player/proc/vote_rig_check()
|
||||
if (usr != src)
|
||||
if (!usr || !src)
|
||||
return 0
|
||||
@@ -354,7 +354,7 @@
|
||||
return 0
|
||||
return 1
|
||||
|
||||
/mob/new_player/proc/vote_valid_check(pollid, holder, type)
|
||||
/mob/dead/new_player/proc/vote_valid_check(pollid, holder, type)
|
||||
if (!dbcon.Connect())
|
||||
to_chat(src, "<span class='danger'>Failed to establish database connection.</span>")
|
||||
return 0
|
||||
@@ -369,7 +369,7 @@
|
||||
return 0
|
||||
return 1
|
||||
|
||||
/mob/new_player/proc/vote_on_irv_poll(pollid, list/votelist)
|
||||
/mob/dead/new_player/proc/vote_on_irv_poll(pollid, list/votelist)
|
||||
if (!dbcon.Connect())
|
||||
to_chat(src, "<span class='danger'>Failed to establish database connection.</span>")
|
||||
return 0
|
||||
@@ -438,7 +438,7 @@
|
||||
return 1
|
||||
|
||||
|
||||
/mob/new_player/proc/vote_on_poll(pollid, optionid)
|
||||
/mob/dead/new_player/proc/vote_on_poll(pollid, optionid)
|
||||
if (!dbcon.Connect())
|
||||
to_chat(src, "<span class='danger'>Failed to establish database connection.</span>")
|
||||
return 0
|
||||
@@ -458,7 +458,7 @@
|
||||
usr << browse(null,"window=playerpoll")
|
||||
return 1
|
||||
|
||||
/mob/new_player/proc/log_text_poll_reply(pollid, replytext)
|
||||
/mob/dead/new_player/proc/log_text_poll_reply(pollid, replytext)
|
||||
if (!dbcon.Connect())
|
||||
to_chat(src, "<span class='danger'>Failed to establish database connection.</span>")
|
||||
return 0
|
||||
@@ -485,7 +485,7 @@
|
||||
usr << browse(null,"window=playerpoll")
|
||||
return 1
|
||||
|
||||
/mob/new_player/proc/vote_on_numval_poll(pollid, optionid, rating)
|
||||
/mob/dead/new_player/proc/vote_on_numval_poll(pollid, optionid, rating)
|
||||
if (!dbcon.Connect())
|
||||
to_chat(src, "<span class='danger'>Failed to establish database connection.</span>")
|
||||
return 0
|
||||
@@ -512,7 +512,7 @@
|
||||
usr << browse(null,"window=playerpoll")
|
||||
return 1
|
||||
|
||||
/mob/new_player/proc/vote_on_multi_poll(pollid, optionid)
|
||||
/mob/dead/new_player/proc/vote_on_multi_poll(pollid, optionid)
|
||||
if (!dbcon.Connect())
|
||||
to_chat(src, "<span class='danger'>Failed to establish database connection.</span>")
|
||||
return 0
|
||||
@@ -59,7 +59,7 @@ var/global/static/observer_default_invisibility = INVISIBILITY_OBSERVER
|
||||
// of the mob
|
||||
var/deadchat_name
|
||||
|
||||
/mob/dead/observer/New(mob/body)
|
||||
/mob/dead/observer/Initialize()
|
||||
invisibility = observer_default_invisibility
|
||||
|
||||
verbs += /mob/dead/observer/proc/dead_tele
|
||||
@@ -79,6 +79,7 @@ var/global/static/observer_default_invisibility = INVISIBILITY_OBSERVER
|
||||
updateallghostimages()
|
||||
|
||||
var/turf/T
|
||||
var/mob/body = loc
|
||||
if(ismob(body))
|
||||
T = get_turf(body) //Where is the body located?
|
||||
logging = body.logging //preserve our logs by copying them to our ghost
|
||||
|
||||
@@ -381,7 +381,7 @@
|
||||
faction -= "neutral"
|
||||
faction += "hostile"
|
||||
|
||||
/mob/living/carbon/human/interactive/New()
|
||||
/mob/living/carbon/human/interactive/Initialize()
|
||||
..()
|
||||
|
||||
set_species(/datum/species/synth)
|
||||
@@ -1605,13 +1605,13 @@
|
||||
nearby += M
|
||||
|
||||
//END OF MODULES
|
||||
/mob/living/carbon/human/interactive/angry/New()
|
||||
/mob/living/carbon/human/interactive/angry/Initialize()
|
||||
TRAITS |= TRAIT_ROBUST
|
||||
TRAITS |= TRAIT_MEAN
|
||||
faction += "bot_angry"
|
||||
..()
|
||||
|
||||
/mob/living/carbon/human/interactive/friendly/New()
|
||||
/mob/living/carbon/human/interactive/friendly/Initialize()
|
||||
TRAITS |= TRAIT_FRIENDLY
|
||||
TRAITS |= TRAIT_UNROBUST
|
||||
faction += "bot_friendly"
|
||||
@@ -1619,7 +1619,7 @@
|
||||
functions -= "combat"
|
||||
..()
|
||||
|
||||
/mob/living/carbon/human/interactive/greytide/New()
|
||||
/mob/living/carbon/human/interactive/greytide/Initialize()
|
||||
TRAITS |= TRAIT_ROBUST
|
||||
TRAITS |= TRAIT_MEAN
|
||||
TRAITS |= TRAIT_THIEVING
|
||||
@@ -1631,7 +1631,7 @@
|
||||
..()
|
||||
|
||||
//Walk softly and carry a big stick
|
||||
/mob/living/carbon/human/interactive/robust/New()
|
||||
/mob/living/carbon/human/interactive/robust/Initialize()
|
||||
TRAITS |= TRAIT_FRIENDLY
|
||||
TRAITS |= TRAIT_ROBUST
|
||||
TRAITS |= TRAIT_SMART
|
||||
|
||||
@@ -10,13 +10,13 @@
|
||||
stat = DEAD //we start dead by default
|
||||
see_invisible = SEE_INVISIBLE_MINIMUM
|
||||
|
||||
/mob/living/brain/New(loc)
|
||||
/mob/living/brain/Initialize()
|
||||
..()
|
||||
create_dna(src)
|
||||
stored_dna.initialize_dna(random_blood_type())
|
||||
if(isturf(loc)) //not spawned in an MMI or brain organ (most likely adminspawned)
|
||||
var/obj/item/organ/brain/OB = new(loc) //we create a new brain organ for it.
|
||||
src.loc = OB
|
||||
loc = OB
|
||||
OB.brainmob = src
|
||||
|
||||
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
|
||||
var/static/regex/alien_name_regex = new("alien (larva|sentinel|drone|hunter|praetorian|queen)( \\(\\d+\\))?")
|
||||
|
||||
/mob/living/carbon/alien/New()
|
||||
/mob/living/carbon/alien/Initialize()
|
||||
verbs += /mob/living/proc/mob_sleep
|
||||
verbs += /mob/living/proc/lay_down
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
icon_state = "aliend"
|
||||
|
||||
|
||||
/mob/living/carbon/alien/humanoid/drone/New()
|
||||
/mob/living/carbon/alien/humanoid/drone/Initialize()
|
||||
AddAbility(new/obj/effect/proc_holder/alien/evolve(null))
|
||||
..()
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
|
||||
|
||||
/mob/living/carbon/alien/humanoid/royal/praetorian/New()
|
||||
/mob/living/carbon/alien/humanoid/royal/praetorian/Initialize()
|
||||
|
||||
real_name = name
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
icon_state = "aliens"
|
||||
|
||||
|
||||
/mob/living/carbon/alien/humanoid/sentinel/New()
|
||||
/mob/living/carbon/alien/humanoid/sentinel/Initialize()
|
||||
AddAbility(new /obj/effect/proc_holder/alien/sneak)
|
||||
..()
|
||||
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
|
||||
|
||||
//This is fine right now, if we're adding organ specific damage this needs to be updated
|
||||
/mob/living/carbon/alien/humanoid/New()
|
||||
/mob/living/carbon/alien/humanoid/Initialize()
|
||||
AddAbility(new/obj/effect/proc_holder/alien/regurgitate(null))
|
||||
..()
|
||||
|
||||
|
||||
@@ -44,7 +44,7 @@
|
||||
owner.remove_alt_appearance("smallqueen")
|
||||
small = 0
|
||||
|
||||
/mob/living/carbon/alien/humanoid/royal/queen/New()
|
||||
/mob/living/carbon/alien/humanoid/royal/queen/Initialize()
|
||||
//there should only be one queen
|
||||
for(var/mob/living/carbon/alien/humanoid/royal/queen/Q in living_mob_list)
|
||||
if(Q == src)
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
|
||||
|
||||
//This is fine right now, if we're adding organ specific damage this needs to be updated
|
||||
/mob/living/carbon/alien/larva/New()
|
||||
/mob/living/carbon/alien/larva/Initialize()
|
||||
|
||||
AddAbility(new/obj/effect/proc_holder/alien/hide(null))
|
||||
AddAbility(new/obj/effect/proc_holder/alien/larva_evolve(null))
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/mob/living/carbon
|
||||
blood_volume = BLOOD_VOLUME_NORMAL
|
||||
|
||||
/mob/living/carbon/New()
|
||||
/mob/living/carbon/Initialize()
|
||||
create_reagents(1000)
|
||||
update_body_parts() //to update the carbon's new bodyparts appearance
|
||||
..()
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
|
||||
|
||||
|
||||
/mob/living/carbon/human/New()
|
||||
/mob/living/carbon/human/Initialize()
|
||||
verbs += /mob/living/proc/mob_sleep
|
||||
verbs += /mob/living/proc/lay_down
|
||||
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
|
||||
|
||||
|
||||
/mob/living/carbon/monkey/New()
|
||||
/mob/living/carbon/monkey/Initialize()
|
||||
verbs += /mob/living/proc/mob_sleep
|
||||
verbs += /mob/living/proc/lay_down
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
var/list/pet_monkey_names = list("Pun Pun", "Bubbles", "Mojo", "George", "Darwin", "Aldo", "Caeser", "Kanzi", "Kong", "Terk", "Grodd", "Mala", "Bojangles", "Coco", "Able", "Baker", "Scatter", "Norbit", "Travis")
|
||||
var/list/rare_pet_monkey_names = list("Professor Bobo", "Deempisi's Revenge", "Furious George", "King Louie", "Dr. Zaius", "Jimmy Rustles", "Dinner", "Lanky")
|
||||
|
||||
/mob/living/carbon/monkey/punpun/New()
|
||||
/mob/living/carbon/monkey/punpun/Initialize()
|
||||
Read_Memory()
|
||||
if(ancestor_name)
|
||||
name = ancestor_name
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/mob/living/New()
|
||||
/mob/living/Initialize()
|
||||
. = ..()
|
||||
generateStaticOverlay()
|
||||
if(staticOverlays.len)
|
||||
|
||||
@@ -85,7 +85,7 @@ var/list/ai_list = list()
|
||||
|
||||
var/obj/structure/AIcore/deactivated/linked_core //For exosuit control
|
||||
|
||||
/mob/living/silicon/ai/New(loc, datum/ai_laws/L, mob/target_ai)
|
||||
/mob/living/silicon/ai/Initialize(mapload, datum/ai_laws/L, mob/target_ai)
|
||||
..()
|
||||
if(!target_ai) //If there is no player/brain inside.
|
||||
new/obj/structure/AIcore/deactivated(loc) //New empty terminal.
|
||||
@@ -910,7 +910,7 @@ var/list/ai_list = list()
|
||||
/mob/living/silicon/ai/resist()
|
||||
return
|
||||
|
||||
/mob/living/silicon/ai/spawned/New(loc, datum/ai_laws/L, mob/target_ai)
|
||||
/mob/living/silicon/ai/spawned/Initialize(mapload, datum/ai_laws/L, mob/target_ai)
|
||||
if(!target_ai)
|
||||
target_ai = src //cheat! just give... ourselves as the spawned AI, because that's technically correct
|
||||
..()
|
||||
|
||||
@@ -81,7 +81,8 @@
|
||||
pai_list -= src
|
||||
..()
|
||||
|
||||
/mob/living/silicon/pai/New(var/obj/item/device/paicard/P)
|
||||
/mob/living/silicon/pai/Initialize()
|
||||
var/obj/item/device/paicard/P = loc
|
||||
START_PROCESSING(SSfastprocess, src)
|
||||
pai_list += src
|
||||
make_laws()
|
||||
|
||||
@@ -93,7 +93,7 @@
|
||||
buckle_lying = FALSE
|
||||
can_ride_typecache = list(/mob/living/carbon/human)
|
||||
|
||||
/mob/living/silicon/robot/New(loc)
|
||||
/mob/living/silicon/robot/Initialize(mapload)
|
||||
spark_system = new /datum/effect_system/spark_spread()
|
||||
spark_system.set_up(5, 0, src)
|
||||
spark_system.attach(src)
|
||||
@@ -816,7 +816,7 @@
|
||||
<i>Help the operatives secure the disk at all costs!</i></b>"
|
||||
var/set_module = /obj/item/weapon/robot_module/syndicate
|
||||
|
||||
/mob/living/silicon/robot/syndicate/New(loc)
|
||||
/mob/living/silicon/robot/syndicate/Initialize()
|
||||
..()
|
||||
cell.maxcharge = 25000
|
||||
cell.charge = 25000
|
||||
|
||||
@@ -39,7 +39,7 @@
|
||||
|
||||
var/law_change_counter = 0
|
||||
|
||||
/mob/living/silicon/New()
|
||||
/mob/living/silicon/Initialize()
|
||||
..()
|
||||
silicon_mobs += src
|
||||
var/datum/atom_hud/data/diagnostic/diag_hud = huds[DATA_HUD_DIAGNOSTIC]
|
||||
|
||||
@@ -114,7 +114,7 @@
|
||||
bot_reset() //Resets an AI's call, should it exist.
|
||||
update_icon()
|
||||
|
||||
/mob/living/simple_animal/bot/New()
|
||||
/mob/living/simple_animal/bot/Initialize()
|
||||
..()
|
||||
access_card = new /obj/item/weapon/card/id(src)
|
||||
//This access is so bots can be immediately set to patrol and leave Robotics, instead of having to be let out first.
|
||||
@@ -800,7 +800,7 @@ Pass a positive integer as an argument to override a bot's default speed.
|
||||
use_power = 0
|
||||
var/mob/living/simple_animal/bot/owner = null
|
||||
|
||||
/obj/machinery/bot_core/New(loc)
|
||||
/obj/machinery/bot_core/Initialize()
|
||||
..()
|
||||
owner = loc
|
||||
if(!istype(owner))
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
var/next_dest
|
||||
var/next_dest_loc
|
||||
|
||||
/mob/living/simple_animal/bot/cleanbot/New()
|
||||
/mob/living/simple_animal/bot/cleanbot/Initialize()
|
||||
..()
|
||||
get_targets()
|
||||
icon_state = "cleanbot[on]"
|
||||
|
||||
@@ -42,7 +42,7 @@
|
||||
var/shoot_sound = 'sound/weapons/Taser.ogg'
|
||||
|
||||
|
||||
/mob/living/simple_animal/bot/ed209/New(loc,created_name,created_lasercolor)
|
||||
/mob/living/simple_animal/bot/ed209/Initialize(mapload,created_name,created_lasercolor)
|
||||
..()
|
||||
if(created_name)
|
||||
name = created_name
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
#define REPLACE_TILE 6
|
||||
#define TILE_EMAG 7
|
||||
|
||||
/mob/living/simple_animal/bot/floorbot/New()
|
||||
/mob/living/simple_animal/bot/floorbot/Initialize()
|
||||
..()
|
||||
update_icon()
|
||||
var/datum/job/engineer/J = new/datum/job/engineer
|
||||
|
||||
@@ -85,7 +85,7 @@
|
||||
else
|
||||
icon_state = "medibot1"
|
||||
|
||||
/mob/living/simple_animal/bot/medbot/New()
|
||||
/mob/living/simple_animal/bot/medbot/Initialize()
|
||||
..()
|
||||
update_icon()
|
||||
|
||||
|
||||
@@ -48,7 +48,7 @@ var/global/mulebot_count = 0
|
||||
var/obj/item/weapon/stock_parts/cell/cell
|
||||
var/bloodiness = 0
|
||||
|
||||
/mob/living/simple_animal/bot/mulebot/New()
|
||||
/mob/living/simple_animal/bot/mulebot/Initialize()
|
||||
..()
|
||||
wires = new /datum/wires/mulebot(src)
|
||||
var/datum/job/cargo_tech/J = new/datum/job/cargo_tech
|
||||
|
||||
@@ -52,7 +52,7 @@
|
||||
desc = "It's Officer Pingsky! Delegated to satellite guard duty for harbouring anti-human sentiment."
|
||||
radio_channel = "AI Private"
|
||||
|
||||
/mob/living/simple_animal/bot/secbot/New()
|
||||
/mob/living/simple_animal/bot/secbot/Initialize()
|
||||
..()
|
||||
icon_state = "secbot[on]"
|
||||
spawn(3)
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
var/playstyle_string = "<b>You are a generic construct! Your job is to not exist, and you should probably adminhelp this.</b>"
|
||||
|
||||
|
||||
/mob/living/simple_animal/hostile/construct/New()
|
||||
/mob/living/simple_animal/hostile/construct/Initialize()
|
||||
..()
|
||||
for(var/spell in construct_spells)
|
||||
AddSpell(new spell(null))
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
verb_exclaim = "flutters intensely"
|
||||
verb_yell = "flutters intensely"
|
||||
|
||||
/mob/living/simple_animal/butterfly/New()
|
||||
/mob/living/simple_animal/butterfly/Initialize()
|
||||
..()
|
||||
var/newcolor = rgb(rand(0, 255), rand(0, 255), rand(0, 255))
|
||||
add_atom_colour(newcolor, FIXED_COLOUR_PRIORITY)
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
var/mob/living/simple_animal/mouse/movement_target
|
||||
gold_core_spawnable = 2
|
||||
|
||||
/mob/living/simple_animal/pet/cat/New()
|
||||
/mob/living/simple_animal/pet/cat/Initialize()
|
||||
..()
|
||||
verbs += /mob/living/proc/lay_down
|
||||
|
||||
@@ -85,7 +85,7 @@
|
||||
var/cats_deployed = 0
|
||||
var/memory_saved = 0
|
||||
|
||||
/mob/living/simple_animal/pet/cat/Runtime/New()
|
||||
/mob/living/simple_animal/pet/cat/Runtime/Initialize()
|
||||
if(prob(5))
|
||||
icon_state = "original"
|
||||
icon_living = "original"
|
||||
|
||||
@@ -43,7 +43,7 @@
|
||||
butcher_results = list(/obj/item/weapon/reagent_containers/food/snacks/meat/slab/pug = 3)
|
||||
gold_core_spawnable = 2
|
||||
|
||||
/mob/living/simple_animal/pet/dog/corgi/New()
|
||||
/mob/living/simple_animal/pet/dog/corgi/Initialize()
|
||||
..()
|
||||
regenerate_icons()
|
||||
|
||||
@@ -281,7 +281,7 @@
|
||||
var/memory_saved = 0
|
||||
var/saved_head //path
|
||||
|
||||
/mob/living/simple_animal/pet/dog/corgi/Ian/New()
|
||||
/mob/living/simple_animal/pet/dog/corgi/Ian/Initialize()
|
||||
..()
|
||||
//parent call must happen first to ensure IAN
|
||||
//is not in nullspace when child puppies spawn
|
||||
|
||||
@@ -68,7 +68,7 @@
|
||||
var/hacked = 0 //If we have laws to destroy the station
|
||||
var/can_be_held = TRUE //if assholes can pick us up
|
||||
|
||||
/mob/living/simple_animal/drone/New()
|
||||
/mob/living/simple_animal/drone/Initialize()
|
||||
. = ..()
|
||||
|
||||
access_card = new /obj/item/weapon/card/id(src)
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
seeStatic = 0 //Our programming is superior.
|
||||
hacked = TRUE
|
||||
|
||||
/mob/living/simple_animal/drone/syndrone/New()
|
||||
/mob/living/simple_animal/drone/syndrone/Initialize()
|
||||
..()
|
||||
internal_storage.hidden_uplink.telecrystals = 10
|
||||
|
||||
@@ -43,7 +43,7 @@
|
||||
default_hatmask = /obj/item/clothing/head/helmet/space/hardsuit/syndi/elite
|
||||
default_storage = /obj/item/device/radio/uplink/nuclear
|
||||
|
||||
/mob/living/simple_animal/drone/syndrone/badass/New()
|
||||
/mob/living/simple_animal/drone/syndrone/badass/Initialize()
|
||||
..()
|
||||
internal_storage.hidden_uplink.telecrystals = 30
|
||||
var/obj/item/weapon/implant/weapons_auth/W = new/obj/item/weapon/implant/weapons_auth(src)
|
||||
@@ -52,7 +52,7 @@
|
||||
/mob/living/simple_animal/drone/snowflake
|
||||
default_hatmask = /obj/item/clothing/head/chameleon/drone
|
||||
|
||||
/mob/living/simple_animal/drone/snowflake/New()
|
||||
/mob/living/simple_animal/drone/snowflake/Initialize()
|
||||
..()
|
||||
desc += " This drone appears to have a complex holoprojector built on its 'head'."
|
||||
|
||||
@@ -76,7 +76,7 @@
|
||||
default_hatmask = null
|
||||
picked = TRUE
|
||||
|
||||
/mob/living/simple_animal/drone/polymorphed/New()
|
||||
/mob/living/simple_animal/drone/polymorphed/Initialize()
|
||||
. = ..()
|
||||
liberate()
|
||||
visualAppearence = pick(MAINTDRONE, REPAIRDRONE, SCOUTDRONE)
|
||||
@@ -126,7 +126,7 @@
|
||||
/mob/living/simple_animal/drone/cogscarab/admin //an admin-only subtype of cogscarab with a no-cost proselytizer and slab in its box
|
||||
default_storage = /obj/item/weapon/storage/toolbox/brass/prefilled/ratvar/admin
|
||||
|
||||
/mob/living/simple_animal/drone/cogscarab/New()
|
||||
/mob/living/simple_animal/drone/cogscarab/Initialize()
|
||||
. = ..()
|
||||
set_light(2, 0.5)
|
||||
qdel(access_card) //we don't have free access
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
blood_volume = BLOOD_VOLUME_NORMAL
|
||||
var/obj/item/udder/udder = null
|
||||
|
||||
/mob/living/simple_animal/hostile/retaliate/goat/New()
|
||||
/mob/living/simple_animal/hostile/retaliate/goat/Initialize()
|
||||
udder = new()
|
||||
..()
|
||||
/mob/living/simple_animal/hostile/retaliate/goat/Destroy()
|
||||
@@ -106,7 +106,7 @@
|
||||
gold_core_spawnable = 2
|
||||
blood_volume = BLOOD_VOLUME_NORMAL
|
||||
|
||||
/mob/living/simple_animal/cow/New()
|
||||
/mob/living/simple_animal/cow/Initialize()
|
||||
udder = new()
|
||||
..()
|
||||
|
||||
@@ -181,7 +181,7 @@
|
||||
mob_size = MOB_SIZE_TINY
|
||||
gold_core_spawnable = 2
|
||||
|
||||
/mob/living/simple_animal/chick/New()
|
||||
/mob/living/simple_animal/chick/Initialize()
|
||||
..()
|
||||
pixel_x = rand(-6, 6)
|
||||
pixel_y = rand(0, 10)
|
||||
@@ -238,7 +238,7 @@ var/global/chicken_count = 0
|
||||
var/list/validColors = list("brown","black","white")
|
||||
gold_core_spawnable = 2
|
||||
|
||||
/mob/living/simple_animal/chicken/New()
|
||||
/mob/living/simple_animal/chicken/Initialize()
|
||||
..()
|
||||
if(!body_color)
|
||||
body_color = pick(validColors)
|
||||
@@ -297,7 +297,7 @@ var/global/chicken_count = 0
|
||||
/obj/item/udder
|
||||
name = "udder"
|
||||
|
||||
/obj/item/udder/New()
|
||||
/obj/item/udder/Initialize()
|
||||
reagents = new(50)
|
||||
reagents.my_atom = src
|
||||
reagents.add_reagent("milk", 20)
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
gold_core_spawnable = 2
|
||||
var/chew_probability = 1
|
||||
|
||||
/mob/living/simple_animal/mouse/New()
|
||||
/mob/living/simple_animal/mouse/Initialize()
|
||||
..()
|
||||
if(!body_color)
|
||||
body_color = pick( list("brown","gray","white") )
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
else
|
||||
..()
|
||||
|
||||
/mob/living/simple_animal/pet/New()
|
||||
/mob/living/simple_animal/pet/Initialize()
|
||||
..()
|
||||
if(pcollar)
|
||||
pcollar = new(src)
|
||||
|
||||
@@ -50,7 +50,7 @@ var/global/list/parasites = list() //all currently existing/living guardians
|
||||
var/tech_fluff_string = "<span class='holoparasite'>BOOT SEQUENCE COMPLETE. ERROR MODULE LOADED. THIS SHOULDN'T HAPPEN. Submit a bug report!</span>"
|
||||
var/carp_fluff_string = "<span class='holoparasite'>CARP CARP CARP SOME SORT OF HORRIFIC BUG BLAME THE CODERS CARP CARP CARP</span>"
|
||||
|
||||
/mob/living/simple_animal/hostile/guardian/New(loc, theme)
|
||||
/mob/living/simple_animal/hostile/guardian/Initialize(mapload, theme)
|
||||
parasites |= src
|
||||
setthemename(theme)
|
||||
|
||||
@@ -659,7 +659,7 @@ var/global/list/parasites = list() //all currently existing/living guardians
|
||||
/obj/item/weapon/storage/box/syndie_kit/guardian
|
||||
name = "holoparasite injector kit"
|
||||
|
||||
/obj/item/weapon/storage/box/syndie_kit/guardian/New()
|
||||
/obj/item/weapon/storage/box/syndie_kit/guardian/Initialize()
|
||||
..()
|
||||
new /obj/item/weapon/guardiancreator/tech/choose/traitor(src)
|
||||
new /obj/item/weapon/paper/guardian(src)
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
var/obj/screen/alert/canstealthalert
|
||||
var/obj/screen/alert/instealthalert
|
||||
|
||||
/mob/living/simple_animal/hostile/guardian/assassin/New()
|
||||
/mob/living/simple_animal/hostile/guardian/assassin/Initialize()
|
||||
..()
|
||||
stealthcooldown = 0
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
var/beacon_cooldown = 0
|
||||
var/toggle = FALSE
|
||||
|
||||
/mob/living/simple_animal/hostile/guardian/healer/New()
|
||||
/mob/living/simple_animal/hostile/guardian/healer/Initialize()
|
||||
..()
|
||||
var/datum/atom_hud/medsensor = huds[DATA_HUD_MEDICAL_ADVANCED]
|
||||
medsensor.add_hud_to(src)
|
||||
|
||||
@@ -56,7 +56,7 @@
|
||||
return 1
|
||||
|
||||
|
||||
/mob/living/simple_animal/hostile/poison/bees/New()
|
||||
/mob/living/simple_animal/hostile/poison/bees/Initialize()
|
||||
..()
|
||||
generate_bee_visuals()
|
||||
|
||||
@@ -209,7 +209,7 @@
|
||||
BB.bees |= src
|
||||
beehome = BB
|
||||
|
||||
/mob/living/simple_animal/hostile/poison/bees/toxin/New()
|
||||
/mob/living/simple_animal/hostile/poison/bees/toxin/Initialize()
|
||||
. = ..()
|
||||
var/datum/reagent/R = pick(typesof(/datum/reagent/toxin))
|
||||
assign_reagent(chemical_reagents_list[initial(R.id)])
|
||||
@@ -283,12 +283,12 @@
|
||||
..()
|
||||
|
||||
|
||||
/obj/item/queen_bee/bought/New()
|
||||
/obj/item/queen_bee/bought/Initialize()
|
||||
..()
|
||||
queen = new(src)
|
||||
|
||||
|
||||
/obj/item/queen_bee/Destroy()
|
||||
qdel(queen)
|
||||
QDEL_NULL(queen)
|
||||
return ..()
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
var/point_regen_delay = 1
|
||||
|
||||
|
||||
/mob/living/simple_animal/hostile/boss/New()
|
||||
/mob/living/simple_animal/hostile/boss/Initialize()
|
||||
..()
|
||||
|
||||
atb = new()
|
||||
@@ -90,7 +90,7 @@
|
||||
|
||||
/datum/boss_active_timed_battle/New()
|
||||
..()
|
||||
SSobj.processing.Add(src)
|
||||
START_PROCESSING(SSobj, src)
|
||||
|
||||
|
||||
/datum/boss_active_timed_battle/proc/assign_abilities(list/L)
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
var/spelldamage = 15
|
||||
var/spellcasttime = 15 //if you varedit this also varedit ranged_cooldown_time else the mob will attack again before the spell hits, looking weird but still working
|
||||
|
||||
/mob/living/simple_animal/hostile/flan/New() //Required for the inheritance of casting animations.
|
||||
/mob/living/simple_animal/hostile/flan/Initialize() //Required for the inheritance of casting animations.
|
||||
..()
|
||||
casting = 0
|
||||
icon_state = "[initial(icon_state)][casting]"
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
del_on_death = 1
|
||||
loot = list(/obj/effect/decal/cleanable/robot_debris)
|
||||
|
||||
/mob/living/simple_animal/hostile/hivebot/New()
|
||||
/mob/living/simple_animal/hostile/hivebot/Initialize()
|
||||
..()
|
||||
deathmessage = "[src] blows apart!"
|
||||
|
||||
|
||||
@@ -54,7 +54,7 @@
|
||||
var/lose_patience_timeout = 300 //30 seconds by default, so there's no major changes to AI behaviour, beyond actually bailing if stuck forever
|
||||
|
||||
|
||||
/mob/living/simple_animal/hostile/New()
|
||||
/mob/living/simple_animal/hostile/Initialize()
|
||||
..()
|
||||
|
||||
if(!targets_from)
|
||||
|
||||
@@ -39,7 +39,7 @@
|
||||
spawn_mecha_type = null
|
||||
search_objects = 2
|
||||
|
||||
/mob/living/simple_animal/hostile/syndicate/mecha_pilot/no_mech/New()
|
||||
/mob/living/simple_animal/hostile/syndicate/mecha_pilot/no_mech/Initialize()
|
||||
..()
|
||||
wanted_objects = typecacheof(/obj/mecha/combat, ignore_root_path=TRUE)
|
||||
|
||||
@@ -59,7 +59,7 @@
|
||||
faction = list("nanotrasen")
|
||||
|
||||
|
||||
/mob/living/simple_animal/hostile/syndicate/mecha_pilot/New()
|
||||
/mob/living/simple_animal/hostile/syndicate/mecha_pilot/Initialize()
|
||||
..()
|
||||
if(spawn_mecha_type)
|
||||
var/obj/mecha/M = new spawn_mecha_type (get_turf(src))
|
||||
|
||||
@@ -103,7 +103,7 @@ Difficulty: Hard
|
||||
INVOKE_ASYNC(src, .proc/warp_charge)
|
||||
|
||||
|
||||
/mob/living/simple_animal/hostile/megafauna/bubblegum/New()
|
||||
/mob/living/simple_animal/hostile/megafauna/bubblegum/Initialize()
|
||||
..()
|
||||
for(var/mob/living/simple_animal/hostile/megafauna/bubblegum/B in mob_list)
|
||||
if(B != src)
|
||||
|
||||
@@ -91,7 +91,7 @@ Difficulty: Very Hard
|
||||
INVOKE_ASYNC(src, .proc/alternating_dir_shots)
|
||||
|
||||
|
||||
/mob/living/simple_animal/hostile/megafauna/colossus/New()
|
||||
/mob/living/simple_animal/hostile/megafauna/colossus/Initialize()
|
||||
..()
|
||||
internal = new/obj/item/device/gps/internal/colossus(src)
|
||||
|
||||
@@ -105,7 +105,7 @@ Difficulty: Very Hard
|
||||
duration = 8
|
||||
var/target
|
||||
|
||||
/obj/effect/overlay/temp/at_shield/New(new_loc, new_target)
|
||||
/obj/effect/overlay/temp/at_shield/Initialize(mapload, new_target)
|
||||
..()
|
||||
target = new_target
|
||||
INVOKE_ASYNC(src, /atom/movable/proc/orbit, target, 0, FALSE, 0, 0, FALSE, TRUE)
|
||||
@@ -631,7 +631,7 @@ Difficulty: Very Hard
|
||||
stop_automated_movement = 1
|
||||
var/heal_power = 5
|
||||
|
||||
/mob/living/simple_animal/hostile/lightgeist/New()
|
||||
/mob/living/simple_animal/hostile/lightgeist/Initialize()
|
||||
..()
|
||||
verbs -= /mob/living/verb/pulled
|
||||
verbs -= /mob/verb/me_verb
|
||||
|
||||
@@ -53,7 +53,7 @@ Difficulty: Medium
|
||||
deathmessage = "collapses into a pile of bones, its flesh sloughing away."
|
||||
death_sound = 'sound/magic/demon_dies.ogg'
|
||||
|
||||
/mob/living/simple_animal/hostile/megafauna/dragon/New()
|
||||
/mob/living/simple_animal/hostile/megafauna/dragon/Initialize()
|
||||
..()
|
||||
internal = new/obj/item/device/gps/internal/dragon(src)
|
||||
|
||||
@@ -96,7 +96,7 @@ Difficulty: Medium
|
||||
duration = 12
|
||||
pixel_z = 500
|
||||
|
||||
/obj/effect/overlay/temp/fireball/New(loc)
|
||||
/obj/effect/overlay/temp/fireball/Initialize(loc)
|
||||
..()
|
||||
animate(src, pixel_z = 0, time = 12)
|
||||
|
||||
@@ -121,7 +121,7 @@ Difficulty: Medium
|
||||
/obj/effect/overlay/temp/target/ex_act()
|
||||
return
|
||||
|
||||
/obj/effect/overlay/temp/target/New(loc)
|
||||
/obj/effect/overlay/temp/target/Initialize(loc)
|
||||
..()
|
||||
INVOKE_ASYNC(src, .proc/fall)
|
||||
|
||||
|
||||
@@ -73,7 +73,7 @@ Difficulty: Hard
|
||||
del_on_death = TRUE
|
||||
death_sound = 'sound/magic/Repulse.ogg'
|
||||
|
||||
/mob/living/simple_animal/hostile/megafauna/hierophant/New()
|
||||
/mob/living/simple_animal/hostile/megafauna/hierophant/Initialize()
|
||||
..()
|
||||
internal = new/obj/item/device/gps/internal/hierophant(src)
|
||||
spawned_beacon = new(loc)
|
||||
|
||||
@@ -50,7 +50,7 @@ Difficulty: Medium
|
||||
appearance_flags = 0
|
||||
mouse_opacity = 1
|
||||
|
||||
/mob/living/simple_animal/hostile/megafauna/legion/New()
|
||||
/mob/living/simple_animal/hostile/megafauna/legion/Initialize()
|
||||
..()
|
||||
internal = new/obj/item/device/gps/internal/legion(src)
|
||||
|
||||
|
||||
@@ -65,7 +65,7 @@ var/global/list/AISwarmerCapsByType = list(/mob/living/simple_animal/hostile/swa
|
||||
var/static/list/swarmer_caps
|
||||
|
||||
|
||||
/mob/living/simple_animal/hostile/megafauna/swarmer_swarm_beacon/New()
|
||||
/mob/living/simple_animal/hostile/megafauna/swarmer_swarm_beacon/Initialize()
|
||||
..()
|
||||
swarmer_caps = AISwarmerCapsByType //for admin-edits
|
||||
internal = new/obj/item/device/gps/internal/swarmer_beacon(src)
|
||||
@@ -108,7 +108,7 @@ var/global/list/AISwarmerCapsByType = list(/mob/living/simple_animal/hostile/swa
|
||||
AIStatus = AI_ON
|
||||
|
||||
|
||||
/mob/living/simple_animal/hostile/swarmer/ai/New()
|
||||
/mob/living/simple_animal/hostile/swarmer/ai/Initialize()
|
||||
..()
|
||||
ToggleLight() //so you can see them eating you out of house and home/shooting you/stunlocking you for eternity
|
||||
LAZYINITLIST(AISwarmersByType[type])
|
||||
@@ -178,7 +178,7 @@ var/global/list/AISwarmerCapsByType = list(/mob/living/simple_animal/hostile/swa
|
||||
var/static/list/sharedIgnore = list()
|
||||
|
||||
|
||||
/mob/living/simple_animal/hostile/swarmer/ai/resource/New()
|
||||
/mob/living/simple_animal/hostile/swarmer/ai/resource/Initialize()
|
||||
..()
|
||||
sharedWanted = typecacheof(sharedWanted)
|
||||
sharedIgnore = typecacheof(sharedIgnore)
|
||||
|
||||
@@ -110,8 +110,8 @@ var/global/list/protected_objects = list(/obj/structure/table, /obj/structure/ca
|
||||
var/image/googly_eyes = null
|
||||
gold_core_spawnable = 0
|
||||
|
||||
/mob/living/simple_animal/hostile/mimic/copy/New(loc, obj/copy, mob/living/creator, destroy_original = 0)
|
||||
..(loc)
|
||||
/mob/living/simple_animal/hostile/mimic/copy/Initialize(mapload, obj/copy, mob/living/creator, destroy_original = 0)
|
||||
..()
|
||||
CopyObject(copy, creator, destroy_original)
|
||||
|
||||
/mob/living/simple_animal/hostile/mimic/copy/Life()
|
||||
|
||||
@@ -141,7 +141,7 @@
|
||||
var/chase_time = 100
|
||||
var/will_burrow = TRUE
|
||||
|
||||
/mob/living/simple_animal/hostile/asteroid/goldgrub/New()
|
||||
/mob/living/simple_animal/hostile/asteroid/goldgrub/Initialize()
|
||||
..()
|
||||
var/i = rand(1,3)
|
||||
while(i)
|
||||
@@ -249,7 +249,7 @@
|
||||
var/inert = 0
|
||||
var/preserved = 0
|
||||
|
||||
/obj/item/organ/hivelord_core/New()
|
||||
/obj/item/organ/hivelord_core/Initialize()
|
||||
..()
|
||||
addtimer(CALLBACK(src, .proc/inert_check), 2400)
|
||||
|
||||
@@ -337,7 +337,7 @@
|
||||
pass_flags = PASSTABLE
|
||||
del_on_death = 1
|
||||
|
||||
/mob/living/simple_animal/hostile/asteroid/hivelordbrood/New()
|
||||
/mob/living/simple_animal/hostile/asteroid/hivelordbrood/Initialize()
|
||||
..()
|
||||
addtimer(CALLBACK(src, .proc/death), 100)
|
||||
|
||||
@@ -355,7 +355,7 @@
|
||||
reagents.reaction(get_turf(src))
|
||||
..()
|
||||
|
||||
/mob/living/simple_animal/hostile/asteroid/hivelordbrood/blood/New()
|
||||
/mob/living/simple_animal/hostile/asteroid/hivelordbrood/blood/Initialize()
|
||||
create_reagents(30)
|
||||
..()
|
||||
|
||||
@@ -896,7 +896,7 @@
|
||||
wanted_objects = list(/obj/effect/decal/cleanable/xenoblood/xgibs, /obj/effect/decal/cleanable/blood/gibs/)
|
||||
var/obj/item/udder/gutlunch/udder = null
|
||||
|
||||
/mob/living/simple_animal/hostile/asteroid/gutlunch/New()
|
||||
/mob/living/simple_animal/hostile/asteroid/gutlunch/Initialize()
|
||||
udder = new()
|
||||
..()
|
||||
|
||||
@@ -946,7 +946,7 @@
|
||||
name = "gubbuck"
|
||||
gender = MALE
|
||||
|
||||
/mob/living/simple_animal/hostile/asteroid/gutlunch/gubbuck/New()
|
||||
/mob/living/simple_animal/hostile/asteroid/gutlunch/gubbuck/Initialize()
|
||||
..()
|
||||
add_atom_colour(pick("#E39FBB", "#D97D64", "#CF8C4A"), FIXED_COLOUR_PRIORITY)
|
||||
resize = 0.85
|
||||
@@ -993,7 +993,7 @@
|
||||
del_on_death = 1
|
||||
var/gps = null
|
||||
|
||||
/mob/living/simple_animal/hostile/spawner/lavaland/New()
|
||||
/mob/living/simple_animal/hostile/spawner/lavaland/Initialize()
|
||||
..()
|
||||
for(var/F in RANGE_TURFS(1, src))
|
||||
if(ismineralturf(F))
|
||||
|
||||
@@ -48,7 +48,7 @@
|
||||
if(!stat)//Mushrooms slowly regenerate if conscious, for people who want to save them from being eaten
|
||||
adjustBruteLoss(-2)
|
||||
|
||||
/mob/living/simple_animal/hostile/mushroom/New()//Makes every shroom a little unique
|
||||
/mob/living/simple_animal/hostile/mushroom/Initialize()//Makes every shroom a little unique
|
||||
melee_damage_lower += rand(3, 5)
|
||||
melee_damage_upper += rand(10,20)
|
||||
maxHealth += rand(40,60)
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
mob_size = MOB_SIZE_TINY
|
||||
gold_core_spawnable = 1
|
||||
|
||||
/mob/living/simple_animal/hostile/retaliate/frog/New()
|
||||
/mob/living/simple_animal/hostile/retaliate/frog/Initialize()
|
||||
..()
|
||||
if(prob(1))
|
||||
name = "rare frog"
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
var/image/ghost_facial_hair = null
|
||||
var/random = TRUE //if you want random names for ghosts or not
|
||||
|
||||
/mob/living/simple_animal/hostile/retaliate/ghost/New()
|
||||
/mob/living/simple_animal/hostile/retaliate/ghost/Initialize()
|
||||
..()
|
||||
if(!random)
|
||||
give_hair()
|
||||
|
||||
@@ -51,7 +51,7 @@
|
||||
|
||||
// No movement while seen code.
|
||||
|
||||
/mob/living/simple_animal/hostile/statue/New(loc, var/mob/living/creator)
|
||||
/mob/living/simple_animal/hostile/statue/Initialize(mapload, var/mob/living/creator)
|
||||
..()
|
||||
// Give spells
|
||||
mob_spell_list += new /obj/effect/proc_holder/spell/aoe_turf/flicker_lights(src)
|
||||
|
||||
@@ -50,7 +50,7 @@
|
||||
icon_living = "stickdog"
|
||||
icon_dead = "stickdog_dead"
|
||||
|
||||
/mob/living/simple_animal/hostile/stickman/New(var/turf/loc, var/wizard_summoned)
|
||||
/mob/living/simple_animal/hostile/stickman/Initialize(mapload, var/wizard_summoned)
|
||||
..()
|
||||
new /obj/effect/overlay/temp/paper_scatter(src)
|
||||
summoned_by_wizard = wizard_summoned
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
var/next_cast = 0
|
||||
|
||||
|
||||
/mob/living/simple_animal/hostile/wizard/New()
|
||||
/mob/living/simple_animal/hostile/wizard/Initialize()
|
||||
..()
|
||||
fireball = new /obj/effect/proc_holder/spell/aimed/fireball
|
||||
fireball.clothes_req = 0
|
||||
|
||||
@@ -99,7 +99,7 @@
|
||||
var/obj/item/held_item = null
|
||||
|
||||
|
||||
/mob/living/simple_animal/parrot/New()
|
||||
/mob/living/simple_animal/parrot/Initialize()
|
||||
..()
|
||||
if(!ears)
|
||||
var/headset = pick(/obj/item/device/radio/headset/headset_sec, \
|
||||
@@ -876,7 +876,7 @@
|
||||
var/longest_survival = 0
|
||||
var/longest_deathstreak = 0
|
||||
|
||||
/mob/living/simple_animal/parrot/Poly/New()
|
||||
/mob/living/simple_animal/parrot/Poly/Initialize()
|
||||
ears = new /obj/item/device/radio/headset/headset_eng(src)
|
||||
available_channels = list(":e")
|
||||
Read_Memory()
|
||||
@@ -949,7 +949,7 @@
|
||||
incorporeal_move = 1
|
||||
butcher_results = list(/obj/item/weapon/ectoplasm = 1)
|
||||
|
||||
/mob/living/simple_animal/parrot/Poly/ghost/New()
|
||||
/mob/living/simple_animal/parrot/Poly/ghost/Initialize()
|
||||
memory_saved = 1 //At this point nothing is saved
|
||||
..()
|
||||
|
||||
|
||||
@@ -85,7 +85,7 @@
|
||||
//domestication
|
||||
var/tame = 0
|
||||
|
||||
/mob/living/simple_animal/New()
|
||||
/mob/living/simple_animal/Initialize()
|
||||
..()
|
||||
handcrafting = new()
|
||||
if(gender == PLURAL)
|
||||
|
||||
@@ -78,7 +78,7 @@ var/list/slime_colours = list("rainbow", "grey", "purple", "metal", "orange",
|
||||
var/coretype = /obj/item/slime_extract/grey
|
||||
var/list/slime_mutation[4]
|
||||
|
||||
/mob/living/simple_animal/slime/New(loc, new_colour="grey", new_is_adult=FALSE)
|
||||
/mob/living/simple_animal/slime/Initialize(mapload, new_colour="grey", new_is_adult=FALSE)
|
||||
var/datum/action/innate/slime/feed/F = new
|
||||
F.Grant(src)
|
||||
|
||||
@@ -422,5 +422,5 @@ var/list/slime_colours = list("rainbow", "grey", "purple", "metal", "orange",
|
||||
if(..())
|
||||
return 3
|
||||
|
||||
/mob/living/simple_animal/slime/random/New(loc, new_colour, new_is_adult)
|
||||
. = ..(loc, pick(slime_colours), prob(50))
|
||||
/mob/living/simple_animal/slime/random/Initialize(mapload, new_colour, new_is_adult)
|
||||
. = ..(mapload, pick(slime_colours), prob(50))
|
||||
@@ -20,7 +20,7 @@
|
||||
return QDEL_HINT_HARDDEL
|
||||
|
||||
var/next_mob_id = 0
|
||||
/mob/New()
|
||||
/mob/Initialize()
|
||||
tag = "mob_[next_mob_id++]"
|
||||
mob_list += src
|
||||
if(stat == DEAD)
|
||||
@@ -448,7 +448,7 @@ var/next_mob_id = 0
|
||||
log_game("[usr.key] AM failed due to disconnect.")
|
||||
return
|
||||
|
||||
var/mob/new_player/M = new /mob/new_player()
|
||||
var/mob/dead/new_player/M = new /mob/dead/new_player()
|
||||
if(!client)
|
||||
log_game("[usr.key] AM failed due to disconnect.")
|
||||
qdel(M)
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
to_chat(usr, "Invalid type path (new_type = [new_type]) in change_mob_type(). Contact a coder.")
|
||||
return
|
||||
|
||||
if(ispath(new_type, /mob/new_player))
|
||||
if(ispath(new_type, /mob/dead/new_player))
|
||||
to_chat(usr, "<span class='danger'>Cannot convert into a new_player mob type.</span>")
|
||||
return
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
icon_state = "camera_target"
|
||||
var/allowed_area = null
|
||||
|
||||
/mob/camera/aiEye/remote/xenobio/New(loc)
|
||||
/mob/camera/aiEye/remote/xenobio/Initialize()
|
||||
var/area/A = get_area(loc)
|
||||
allowed_area = A.name
|
||||
..()
|
||||
|
||||
@@ -150,7 +150,7 @@
|
||||
status_flags = GODMODE // Please don't punch the barkeeper
|
||||
unique_name = FALSE // disables the (123) number suffix
|
||||
|
||||
/mob/living/simple_animal/drone/snowflake/bardrone/New()
|
||||
/mob/living/simple_animal/drone/snowflake/bardrone/Initialize()
|
||||
. = ..()
|
||||
access_card.access |= access_cent_bar
|
||||
|
||||
@@ -166,7 +166,7 @@
|
||||
AIStatus = AI_OFF
|
||||
stop_automated_movement = TRUE
|
||||
|
||||
/mob/living/simple_animal/hostile/alien/maid/barmaid/New()
|
||||
/mob/living/simple_animal/hostile/alien/maid/barmaid/Initialize()
|
||||
. = ..()
|
||||
access_card = new /obj/item/weapon/card/id(src)
|
||||
var/datum/job/captain/C = new /datum/job/captain
|
||||
|
||||
Reference in New Issue
Block a user