module things, jfc

This commit is contained in:
Poojawa
2018-09-11 07:51:01 -05:00
parent 8b9ef1e400
commit 284e9d0325
695 changed files with 11343 additions and 5661 deletions
+4 -2
View File
@@ -38,6 +38,8 @@
/obj/item/projectile/beam/weak
damage = 15
/obj/item/projectile/beam/weak/penetrator
armour_penetration = 50
/obj/item/projectile/beam/practice
@@ -54,7 +56,7 @@
name = "\improper X-ray beam"
icon_state = "xray"
damage = 15
irradiate = 30
irradiate = 300
range = 15
pass_flags = PASSTABLE | PASSGLASS | PASSGRILLE | PASSCLOSEDTURF
@@ -67,7 +69,7 @@
/obj/item/projectile/beam/disabler
name = "disabler beam"
icon_state = "omnilaser"
damage = 24
damage = 36
damage_type = STAMINA
flag = "energy"
hitsound = 'sound/weapons/tap.ogg'
@@ -40,5 +40,5 @@
/obj/item/projectile/bullet/incendiary/mm195x129
name = "1.95x129mm incendiary bullet"
damage = 15
damage = 20
fire_stacks = 3
@@ -14,9 +14,7 @@
/obj/item/projectile/bullet/c38
name = ".38 bullet"
damage = 15
knockdown = 60
stamina = 50
damage = 25
// .357 (Syndie Revolver)
@@ -3,7 +3,7 @@
icon_state = "declone"
damage = 20
damage_type = CLONE
irradiate = 10
irradiate = 100
impact_effect_type = /obj/effect/temp_visual/impact_effect/green_laser
/obj/item/projectile/energy/dart //ninja throwing dart
@@ -21,7 +21,7 @@
SEND_SIGNAL(C, COMSIG_ADD_MOOD_EVENT, "tased", /datum/mood_event/tased)
SEND_SIGNAL(C, COMSIG_LIVING_MINOR_SHOCK)
if(C.dna && C.dna.check_mutation(HULK))
C.say(pick(";RAAAAAAAARGH!", ";HNNNNNNNNNGGGGGGH!", ";GWAAAAAAAARRRHHH!", "NNNNNNNNGGGGGGGGHH!", ";AAAAAAARRRGH!" ))
C.say(pick(";RAAAAAAAARGH!", ";HNNNNNNNNNGGGGGGH!", ";GWAAAAAAAARRRHHH!", "NNNNNNNNGGGGGGGGHH!", ";AAAAAAARRRGH!" ), forced = "hulk")
else if((C.status_flags & CANKNOCKDOWN) && !C.has_trait(TRAIT_STUNIMMUNE))
addtimer(CALLBACK(C, /mob/living/carbon.proc/do_jitter_animation, jitter), 5)
+92 -3
View File
@@ -34,6 +34,7 @@
return
if(target.anti_magic_check())
target.visible_message("<span class='warning'>[src] vanishes on contact with [target]!</span>")
return
if(iscarbon(target))
var/mob/living/carbon/C = target
C.regenerate_limbs()
@@ -236,7 +237,7 @@
for(var/obj/item/W in contents)
new_mob.equip_to_appropriate_slot(W)
M.log_message("<font color='orange'>became [new_mob.real_name].</font>", INDIVIDUAL_ATTACK_LOG)
M.log_message("became [new_mob.real_name]", LOG_ATTACK, color="orange")
new_mob.a_intent = INTENT_HARM
@@ -244,7 +245,7 @@
to_chat(new_mob, "<span class='warning'>Your form morphs into that of a [randomize].</span>")
var/poly_msg = CONFIG_GET(keyed_string_list/policy)["polymorph"]
var/poly_msg = CONFIG_GET(keyed_list/policy)["polymorph"]
if(poly_msg)
to_chat(new_mob, poly_msg)
@@ -335,6 +336,91 @@
return
. = ..()
/obj/item/projectile/magic/locker
name = "locker bolt"
icon_state = "locker"
nodamage = TRUE
flag = "magic"
var/weld = TRUE
var/created = FALSE //prevents creation of more then one locker if it has multiple hits
/obj/item/projectile/magic/locker/prehit(atom/A)
if(ismob(A))
var/mob/M = A
if(M.anti_magic_check())
M.visible_message("<span class='warning'>[src] vanishes on contact with [A]!</span>")
qdel(src)
return
if(M.anchored)
return ..()
M.forceMove(src)
return FALSE
return ..()
/obj/item/projectile/magic/locker/on_hit(target)
if(created)
return ..()
var/obj/structure/closet/decay/C = new(get_turf(src))
if(LAZYLEN(contents))
for(var/atom/movable/AM in contents)
C.insert(AM)
C.welded = weld
C.update_icon()
created = TRUE
return ..()
/obj/item/projectile/magic/locker/Destroy()
for(var/atom/movable/AM in contents)
AM.forceMove(get_turf(src))
. = ..()
/obj/structure/closet/decay
breakout_time = 600
icon_welded = null
var/magic_icon = "cursed"
var/weakened_icon = "decursed"
var/auto_destroy = TRUE
/obj/structure/closet/decay/Initialize()
. = ..()
if(auto_destroy)
addtimer(CALLBACK(src, .proc/bust_open), 5 MINUTES)
addtimer(CALLBACK(src, .proc/magicly_lock), 5)
/obj/structure/closet/decay/proc/magicly_lock()
if(!welded)
return
icon_state = magic_icon
update_icon()
/obj/structure/closet/decay/after_weld(weld_state)
if(weld_state)
unmagify()
/obj/structure/closet/decay/proc/decay()
animate(src, alpha = 0, time = 30)
addtimer(CALLBACK(GLOBAL_PROC, .proc/qdel, src), 30)
/obj/structure/closet/decay/open(mob/living/user)
. = ..()
if(.)
if(icon_state == magic_icon) //check if we used the magic icon at all before giving it the lesser magic icon
unmagify()
else
addtimer(CALLBACK(src, .proc/decay), 15 SECONDS)
/obj/structure/closet/decay/contents_explosion(severity, target)
for(var/atom/A in contents)
A.ex_act(severity/2, target) //Difference is it does half the damage to contents from explosion, to make fireball not completely instakill
CHECK_TICK
/obj/structure/closet/decay/proc/unmagify()
icon_state = weakened_icon
update_icon()
addtimer(CALLBACK(src, .proc/decay), 15 SECONDS)
icon_welded = "welded"
/obj/item/projectile/magic/aoe
name = "Area Bolt"
desc = "What the fuck does this do?!"
@@ -345,9 +431,10 @@
if(proxdet)
for(var/mob/living/L in range(1, get_turf(src)))
if(L.stat != DEAD && L != firer && !L.anti_magic_check())
return Collide(L)
return Bump(L)
..()
/obj/item/projectile/magic/aoe/lightning
name = "lightning bolt"
icon_state = "tesla_projectile" //Better sprites are REALLY needed and appreciated!~
@@ -423,3 +510,5 @@
var/turf/T = get_turf(target)
for(var/i=0, i<50, i+=10)
addtimer(CALLBACK(GLOBAL_PROC, .proc/explosion, T, -1, exp_heavy, exp_light, exp_flash, FALSE, FALSE, exp_fire), i)
@@ -13,7 +13,7 @@
/obj/item/projectile/gravityrepulse/Initialize()
. = ..()
var/obj/item/ammo_casing/energy/gravityrepulse/C = loc
var/obj/item/ammo_casing/energy/gravity/repulse/C = loc
if(istype(C)) //Hard-coded maximum power so servers can't be crashed by trying to throw the entire Z level's items
power = min(C.gun.power, 15)
@@ -44,7 +44,7 @@
/obj/item/projectile/gravityattract/Initialize()
. = ..()
var/obj/item/ammo_casing/energy/gravityattract/C = loc
var/obj/item/ammo_casing/energy/gravity/attract/C = loc
if(istype(C)) //Hard-coded maximum power so servers can't be crashed by trying to throw the entire Z level's items
power = min(C.gun.power, 15)
@@ -74,7 +74,7 @@
/obj/item/projectile/gravitychaos/Initialize()
. = ..()
var/obj/item/ammo_casing/energy/gravitychaos/C = loc
var/obj/item/ammo_casing/energy/gravity/chaos/C = loc
if(istype(C)) //Hard-coded maximum power so servers can't be crashed by trying to throw the entire Z level's items
power = min(C.gun.power, 15)
@@ -33,7 +33,7 @@
QDEL_NULL(fake_icon)
return ..()
/obj/item/projectile/hallucination/Collide(atom/A)
/obj/item/projectile/hallucination/Bump(atom/A)
if(!ismob(A))
if(hal_hitsound_wall)
hal_target.playsound_local(loc, hal_hitsound_wall, 40, 1)
@@ -169,7 +169,7 @@
hal_target.Knockdown(100)
hal_target.stuttering += 20
if(hal_target.dna && hal_target.dna.check_mutation(HULK))
hal_target.say(pick(";RAAAAAAAARGH!", ";HNNNNNNNNNGGGGGGH!", ";GWAAAAAAAARRRHHH!", "NNNNNNNNGGGGGGGGHH!", ";AAAAAAARRRGH!" ))
hal_target.say(pick(";RAAAAAAAARGH!", ";HNNNNNNNNNGGGGGGH!", ";GWAAAAAAAARRRHHH!", "NNNNNNNNGGGGGGGGHH!", ";AAAAAAARRRGH!" ), forced = "hulk")
else if((hal_target.status_flags & CANKNOCKDOWN) && !hal_target.has_trait(TRAIT_STUNIMMUNE))
addtimer(CALLBACK(hal_target, /mob/living/carbon.proc/do_jitter_animation, 20), 5)
@@ -7,7 +7,7 @@
nodamage = 1
flag = "bullet"
/obj/item/projectile/meteor/Collide(atom/A)
/obj/item/projectile/meteor/Bump(atom/A)
if(A == firer)
forceMove(A.loc)
return
@@ -4,13 +4,13 @@
hitsound = "sparks"
damage = 0
nodamage = TRUE
hitscan = TRUE
pass_flags = PASSGLASS | PASSTABLE | PASSGRILLE | PASSMOB
var/obj/item/gun/energy/wormhole_projector/gun
color = "#33CCFF"
tracer_type = /obj/effect/projectile/tracer/wormhole
impact_type = /obj/effect/projectile/impact/wormhole
muzzle_type = /obj/effect/projectile/muzzle/wormhole
hitscan = TRUE
/obj/item/projectile/beam/wormhole/orange
name = "orange bluespace beam"
@@ -21,7 +21,9 @@
if(casing)
gun = casing.gun
/obj/item/projectile/beam/wormhole/on_hit(atom/target)
if(!gun)
qdel(src)
return
gun.create_portal(src, get_turf(src))