Skip to content

Commit

Permalink
Made cult blades/double barrel shotguns fit on exosuit slots again.
Browse files Browse the repository at this point in the history
Wizard staffs, SAW, combat shotgun still don't

Added the Mjollnir and Singularity Hammer. Just silly melee weapons I coded/sprited for fun. Both are using the Mjollnir's sprites currently though I didn't have it in me to make a billion more inhands for the Singularity Hammer.

Mjollnir shocks the target and hurls them away/spews lightning around.

Singularity Hammer pulls everything nearby in towards the target.

Don't really have plans to balance them or make them obtainable in game but I thought as long as I'd coded them some admin or another may enjoy trading them to antags/giving them to the chaplain etc.

Lowered fireballs cooldown and decreased its explosion size (so wizards can use it without killing themselves by causing hull breaches)

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5805 316c924e-a436-60f5-8080-3fe189b3f50e
  • Loading branch information
Kortgstation@gmail.com authored and Kortgstation@gmail.com committed Mar 3, 2013
1 parent 7ba4557 commit 85f567c
Show file tree
Hide file tree
Showing 12 changed files with 184 additions and 6 deletions.
4 changes: 2 additions & 2 deletions code/datums/spells/wizard.dm
Original file line number Diff line number Diff line change
Expand Up @@ -205,7 +205,7 @@
desc = "This spell fires a fireball at a target and does not require wizard garb."

school = "evocation"
charge_max = 100
charge_max = 60
clothes_req = 0
invocation = "ONI SOMA"
invocation_type = "shout"
Expand All @@ -219,7 +219,7 @@
proj_step_delay = 1

/obj/effect/proc_holder/spell/turf/fireball/cast(var/turf/T)
explosion(T, -1, 1, 2, 3)
explosion(T, -1, 0, 2, 3)


/obj/effect/proc_holder/spell/targeted/inflict_handler/fireball
Expand Down
43 changes: 43 additions & 0 deletions code/game/objects/effects/effect_system.dm
Original file line number Diff line number Diff line change
Expand Up @@ -216,6 +216,49 @@ steam.start() -- spawns the effect



/obj/effect/effect/sparks/electricity
name = "lightning"
icon_state = "electricity"

/datum/effect/effect/system/lightning_spread
var/total_sparks = 0 // To stop it being spammed and lagging!

set_up(n = 3, c = 0, loca)
if(n > 10)
n = 10
number = n
cardinals = c
if(istype(loca, /turf/))
location = loca
else
location = get_turf(loca)

start()
var/i = 0
for(i=0, i<src.number, i++)
if(src.total_sparks > 20)
return
spawn(0)
if(holder)
src.location = get_turf(holder)
var/obj/effect/effect/sparks/electricity/sparks = new /obj/effect/effect/sparks/electricity(src.location)
src.total_sparks++
var/direction
if(src.cardinals)
direction = pick(cardinal)
else
direction = pick(alldirs)
for(i=0, i<pick(1,2,3), i++)
sleep(5)
step(sparks,direction)
spawn(20)
if(sparks) // Might be deleted already
sparks.delete()
src.total_sparks--




/////////////////////////////////////////////
//// SMOKE SYSTEMS
// direct can be optinally added when set_up, to make the smoke always travel in one direction
Expand Down
2 changes: 1 addition & 1 deletion code/game/objects/items.dm
Original file line number Diff line number Diff line change
Expand Up @@ -510,7 +510,7 @@
if(!disable_warning)
usr << "You somehow have a suit with no defined allowed items for suit storage, stop that."
return 0
if(src.w_class > 3)
if(src.w_class > 4)
if(!disable_warning)
usr << "The [name] is too big to attach."
return 0
Expand Down
133 changes: 133 additions & 0 deletions code/game/objects/items/weapons/singularityhammer.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,133 @@

/obj/item/weapon/twohanded/singularityhammer
name = "singularity hammer"
desc = "The pinnacle of close combat technology, the hammer harnesses the power of a miniaturized singularity to deal crushing blows."
icon_state = "mjollnir0"
flags = FPRINT | TABLEPASS
slot_flags = SLOT_BACK
force = 5
force_unwielded = 5
force_wielded = 20
throwforce = 15
throw_range = 1
w_class = 5
var/charged = 5
origin_tech = "combat=5, bluespace=4"



New()
..()
processing_objects.Add(src)


Del()
processing_objects.Remove(src)
..()


process()
if(charged < 5)
charged++
return

/obj/item/weapon/twohanded/singularityhammer/update_icon() //Currently only here to fuck with the on-mob icons.
icon_state = "mjollnir[wielded]"
return


/obj/item/weapon/twohanded/singularityhammer/proc/vortex(var/turf/pull as turf, mob/wielder as mob)
for(var/atom/X in orange(5,pull))
if(istype(X, /atom/movable))
if(X == wielder) continue
if((X) &&(!X:anchored) && (!istype(X,/mob/living/carbon/human)))
step_towards(X,pull)
step_towards(X,pull)
step_towards(X,pull)
else if(istype(X,/mob/living/carbon/human))
var/mob/living/carbon/human/H = X
if(istype(H.shoes,/obj/item/clothing/shoes/magboots))
var/obj/item/clothing/shoes/magboots/M = H.shoes
if(M.magpulse)
continue
H.apply_effect(1, WEAKEN, 0)
step_towards(H,pull)
step_towards(H,pull)
step_towards(H,pull)
return



/obj/item/weapon/twohanded/singularityhammer/afterattack(atom/A as mob|obj|turf|area, mob/user as mob)
..()
if(wielded)
if(charged == 5)
charged = 0
if(istype(A, /mob/living/))
var/mob/living/Z = A
Z.take_organ_damage(20,0)
playsound(user, 'sound/weapons/marauder.ogg', 50, 1)
var/turf/target = get_turf(A)
vortex(target,user)


/obj/item/weapon/twohanded/mjollnir
name = "Mjollnir"
desc = "A weapon worthy of a god, able to strike with the force of a lightning bolt. It crackles with barely contained energy."
icon_state = "mjollnir0"
flags = FPRINT | TABLEPASS
slot_flags = SLOT_BACK
force = 5
force_unwielded = 5
force_wielded = 20
throwforce = 30
throw_range = 10
w_class = 5
//var/charged = 5
origin_tech = "combat=5, power=5"


/*
New()
..()
processing_objects.Add(src)
Del()
processing_objects.Remove(src)
..()
process()
if(charged < 5)
charged++
return
*/
/obj/item/weapon/twohanded/mjollnir/proc/shock(mob/living/target as mob)
var/datum/effect/effect/system/lightning_spread/s = new /datum/effect/effect/system/lightning_spread
s.set_up(5, 1, target.loc)
s.start()
target.take_organ_damage(0,30)
target.visible_message("\red [target.name] was shocked by the [src.name]!", \
"\red <B>You feel a powerful shock course through your body sending you flying!</B>", \
"\red You hear a heavy electrical crack")
var/atom/throw_target = get_edge_target_turf(target, get_dir(src, get_step_away(target, src)))
target.throw_at(throw_target, 200, 4)
return


/obj/item/weapon/twohanded/mjollnir/attack(mob/M as mob, mob/user as mob)
..()
spawn(0)
if(wielded)
//if(charged == 5)
//charged = 0
playsound(src.loc, "sparks", 50, 1)
if(istype(M, /mob/living))
M.Stun(10)
shock(M)


/obj/item/weapon/twohanded/mjollnir/update_icon() //Currently only here to fuck with the on-mob icons.
icon_state = "mjollnir[wielded]"
return
4 changes: 2 additions & 2 deletions code/modules/projectiles/guns/energy/special.dm
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
icon_state = "ionrifle"
fire_sound = 'sound/weapons/Laser.ogg'
origin_tech = "combat=2;magnets=4"
w_class = 4.0
w_class = 5
flags = FPRINT | TABLEPASS | CONDUCT | USEDELAY
slot_flags = SLOT_BACK
charge_cost = 100
Expand Down Expand Up @@ -35,7 +35,7 @@ obj/item/weapon/gun/energy/staff
fire_sound = 'sound/weapons/emitter.ogg'
flags = FPRINT | TABLEPASS | CONDUCT | USEDELAY
slot_flags = SLOT_BACK
w_class = 4.0
w_class = 5
charge_cost = 200
projectile_type = "/obj/item/projectile/change"
origin_tech = null
Expand Down
2 changes: 1 addition & 1 deletion code/modules/projectiles/guns/projectile/automatic.dm
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@
desc = "A rather traditionally made light machine gun with a pleasantly lacquered wooden pistol grip. Has 'Aussec Armoury- 2531' engraved on the reciever"
icon_state = "l6closed100"
item_state = "l6closedmag"
w_class = 4
w_class = 5
slot_flags = 0
max_shells = 50
caliber = "a762"
Expand Down
1 change: 1 addition & 0 deletions code/modules/projectiles/guns/projectile/shotgun.dm
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@
max_shells = 8
origin_tech = "combat=5;materials=2"
ammo_type = "/obj/item/ammo_casing/shotgun"
w_class = 5

//this is largely hacky and bad :( -Pete
/obj/item/weapon/gun/projectile/shotgun/doublebarrel
Expand Down
Binary file modified icons/mob/back.dmi
Binary file not shown.
Binary file modified icons/mob/items_lefthand.dmi
Binary file not shown.
Binary file modified icons/mob/items_righthand.dmi
Binary file not shown.
Binary file modified icons/obj/weapons.dmi
Binary file not shown.
1 change: 1 addition & 0 deletions tgstation.dme
Original file line number Diff line number Diff line change
Expand Up @@ -518,6 +518,7 @@
#include "code\game\objects\items\weapons\RSF.dm"
#include "code\game\objects\items\weapons\scrolls.dm"
#include "code\game\objects\items\weapons\shields.dm"
#include "code\game\objects\items\weapons\singularityhammer.dm"
#include "code\game\objects\items\weapons\stunbaton.dm"
#include "code\game\objects\items\weapons\swords_axes_etc.dm"
#include "code\game\objects\items\weapons\table_rack_parts.dm"
Expand Down

0 comments on commit 85f567c

Please sign in to comment.