Merge branch 'master' into aro_firearms

This commit is contained in:
Aroliacue
2023-07-12 10:23:17 +10:00
committed by GitHub
18 changed files with 3460 additions and 1610 deletions

View File

@@ -1,279 +1,358 @@
// Chaos cake // Chaos cake
/datum/recipe/chaoscake_layerone /datum/recipe/chaoscake_layerone
reagents = list("flour" = 300,"milk" = 200, "sugar" = 100, "egg" = 30) //CHOMP Edit reagents = list("flour" = 30,"milk" = 20, "sugar" = 10, "egg" = 9)
fruit = list("poisonberries" = 15, "cherries" = 15) //CHOMP Edit fruit = list("poisonberries" = 2, "cherries" = 2)
items = list( items = list(
/obj/item/weapon/reagent_containers/food/snacks/meat/, /obj/item/weapon/reagent_containers/food/snacks/meat/,
/obj/item/weapon/reagent_containers/food/snacks/meat/, /obj/item/weapon/reagent_containers/food/snacks/meat/,
/obj/item/weapon/reagent_containers/food/snacks/meat/, /obj/item/weapon/reagent_containers/food/snacks/meat/,
/obj/item/weapon/reagent_containers/food/snacks/meat/ /obj/item/weapon/reagent_containers/food/snacks/meat/
) )
result = /obj/structure/chaoscake result = /obj/structure/chaoscake
/datum/recipe/chaoscake_layertwo /datum/recipe/chaoscake_layertwo
reagents = list("flour" = 300, "milk" = 200, "sugar" = 100, "egg" = 30, ) //CHOMP Edit reagents = list("flour" = 30, "milk" = 20, "sugar" = 10, "egg" = 9, )
fruit = list("vanilla" = 15, "banana" = 15) //CHOMP Edit fruit = list("vanilla" = 2, "banana" = 2)
items = list( items = list(
/obj/item/weapon/reagent_containers/food/snacks/dough, /obj/item/weapon/reagent_containers/food/snacks/dough,
/obj/item/weapon/reagent_containers/food/snacks/dough, /obj/item/weapon/reagent_containers/food/snacks/dough,
/obj/item/weapon/reagent_containers/food/snacks/dough, /obj/item/weapon/reagent_containers/food/snacks/dough,
/obj/item/weapon/reagent_containers/food/snacks/dough /obj/item/weapon/reagent_containers/food/snacks/dough
) )
result = /obj/item/weapon/chaoscake_layer result = /obj/item/weapon/chaoscake_layer
/datum/recipe/chaoscake_layerthree /datum/recipe/chaoscake_layerthree
reagents = list("flour" = 240, "milk" = 150, "sugar" = 80, "egg" = 24, "deathbell" = 100) //CHOMP Edit reagents = list("flour" = 25, "milk" = 15, "sugar" = 10, "egg" = 6, "deathbell" = 10)
fruit = list("grapes" = 30) //CHOMP Edit fruit = list("grapes" = 3)
items = list( items = list(
/obj/item/weapon/reagent_containers/food/snacks/dough, /obj/item/weapon/reagent_containers/food/snacks/dough,
/obj/item/weapon/reagent_containers/food/snacks/dough, /obj/item/weapon/reagent_containers/food/snacks/dough,
/obj/item/weapon/reagent_containers/food/snacks/dough /obj/item/weapon/reagent_containers/food/snacks/dough
) )
result = /obj/item/weapon/chaoscake_layer/three result = /obj/item/weapon/chaoscake_layer/three
/datum/recipe/chaoscake_layerfour /datum/recipe/chaoscake_layerfour
reagents = list("flour" = 240, "milk" = 150, "sugar" = 80, "egg" = 24, "milkshake" = 300) //CHOMP Edit reagents = list("flour" = 25, "milk" = 15, "sugar" = 10, "egg" = 6, "milkshake" = 30)
fruit = list("rice" = 30) //CHOMP Edit fruit = list("rice" = 3)
items = list( items = list(
/obj/item/weapon/reagent_containers/food/snacks/dough, /obj/item/weapon/reagent_containers/food/snacks/dough,
/obj/item/weapon/reagent_containers/food/snacks/dough, /obj/item/weapon/reagent_containers/food/snacks/dough,
/obj/item/weapon/reagent_containers/food/snacks/dough /obj/item/weapon/reagent_containers/food/snacks/dough
) )
result = /obj/item/weapon/chaoscake_layer/four result = /obj/item/weapon/chaoscake_layer/four
/datum/recipe/chaoscake_layerfive /datum/recipe/chaoscake_layerfive
reagents = list("flour" = 180, "milk" = 100, "sugar" = 60, "egg" = 18, "blood" = 300) //CHOMP Edit reagents = list("flour" = 20, "milk" = 10, "sugar" = 10, "egg" = 6, "blood" = 30)
fruit = list("tomato" = 20) //CHOMP Edit fruit = list("tomato" = 2)
items = list() //supposed to be made with lobster, still has to be ported. items = list() //supposed to be made with lobster, still has to be ported.
result = /obj/item/weapon/chaoscake_layer/five result = /obj/item/weapon/chaoscake_layer/five
/datum/recipe/chaoscake_layersix /datum/recipe/chaoscake_layersix
reagents = list("flour" = 180, "milk" = 100, "sugar" = 60, "egg" = 18, "sprinkles" = 10) //CHOMP Edit reagents = list("flour" = 20, "milk" = 10, "sugar" = 10, "egg" = 6, "sprinkles" = 5)
fruit = list("apple" = 30) //CHOMP Edit fruit = list("apple" = 2)
items = list( items = list(
/obj/item/weapon/reagent_containers/food/snacks/dough, /obj/item/weapon/reagent_containers/food/snacks/dough,
/obj/item/weapon/reagent_containers/food/snacks/dough, /obj/item/weapon/reagent_containers/food/snacks/dough,
/obj/item/weapon/reagent_containers/food/snacks/dough, /obj/item/weapon/reagent_containers/food/snacks/dough,
/obj/item/weapon/reagent_containers/food/snacks/chocolatebar, /obj/item/weapon/reagent_containers/food/snacks/chocolatebar,
/obj/item/weapon/reagent_containers/food/snacks/chocolatebar, /obj/item/weapon/reagent_containers/food/snacks/chocolatebar,
/obj/item/weapon/reagent_containers/food/snacks/chocolatebar /obj/item/weapon/reagent_containers/food/snacks/chocolatebar
) )
result = /obj/item/weapon/chaoscake_layer/six result = /obj/item/weapon/chaoscake_layer/six
/datum/recipe/chaoscake_layerseven /datum/recipe/chaoscake_layerseven
reagents = list("flour" = 120, "milk" = 50, "sugar" = 40, "egg" = 12, "devilskiss" = 200) //CHOMP Edit reagents = list("flour" = 15, "milk" = 10, "sugar" = 5, "egg" = 3, "devilskiss" = 20)
fruit = list("potato" = 10) //CHOMP Edit fruit = list("potato" = 1)
items = list( items = list(
/obj/item/weapon/reagent_containers/food/snacks/dough, /obj/item/weapon/reagent_containers/food/snacks/dough,
/obj/item/weapon/reagent_containers/food/snacks/dough, /obj/item/weapon/reagent_containers/food/snacks/dough,
/obj/item/weapon/reagent_containers/food/snacks/dough /obj/item/weapon/reagent_containers/food/snacks/dough
) )
result = /obj/item/weapon/chaoscake_layer/seven result = /obj/item/weapon/chaoscake_layer/seven
/datum/recipe/chaoscake_layereight /datum/recipe/chaoscake_layereight
reagents = list("flour" = 120, "milk" = 50, "sugar" = 40, "egg" = 12, "cream" = 200) //CHOMP Edit reagents = list("flour" = 15, "milk" = 10, "sugar" = 5, "egg" = 3, "cream" = 20)
fruit = list("lemon" = 10) //CHOMP Edit fruit = list("lemon" = 1)
items = list( items = list(
/obj/item/weapon/reagent_containers/food/snacks/dough, /obj/item/weapon/reagent_containers/food/snacks/dough,
/obj/item/weapon/reagent_containers/food/snacks/dough, /obj/item/weapon/reagent_containers/food/snacks/dough,
/obj/item/weapon/reagent_containers/food/snacks/dough /obj/item/weapon/reagent_containers/food/snacks/dough
) )
result = /obj/item/weapon/chaoscake_layer/eight result = /obj/item/weapon/chaoscake_layer/eight
/datum/recipe/chaoscake_layernine /datum/recipe/chaoscake_layernine
reagents = list("water" = 100, "blood" = 100) //CHOMP Edit reagents = list("water" = 10, "blood" = 10)
fruit = list("goldapple" = 50) //CHOMP Edit fruit = list("goldapple" = 1)
items = list() items = list()
result = /obj/item/weapon/chaoscake_layer/nine result = /obj/item/weapon/chaoscake_layer/nine
/obj/structure/chaoscake /obj/structure/chaoscake
name = "An unfinished cake" name = "An unfinished cake"
desc = "A single layer of a strange cake, you can see the cherry paste ooze, but it feels very incomplete..." desc = "A single layer of a strange cake, you can see the cherry paste ooze, but it feels very incomplete..."
icon = 'icons/obj/food64x64.dmi' icon = 'icons/obj/food64x64.dmi'
icon_state = "chaoscake_unfinished-1" icon_state = "chaoscake_unfinished-1"
pixel_x = -16 pixel_x = -16
var/slices = 6 var/slices = 6
var/maxslices = 6 var/maxslices = 6
var/stage = 1 var/stage = 1
var/maxstages = 9 var/maxstages = 9
var/edible = 0 var/edible = 0
var/regentime = 1000 var/regentime = 1000
var/interval = 0 var/interval = 0
var/static/list/desclist2 = list( var/static/list/desclist2 = list(
"The first layer of a strange cake, you can see the cherry paste ooze.", "The first layer of a strange cake, you can see the cherry paste ooze.",
"The second layer of the cake sits in place now, smelling of pear with delicious colourful cream.", "The second layer of the cake sits in place now, smelling of pear with delicious colourful cream.",
"The third layer of cake adds a strange purple layer, glazed over with frosting. It smells of grapes, but with a hint of something foul underneath.", "The third layer of cake adds a strange purple layer, glazed over with frosting. It smells of grapes, but with a hint of something foul underneath.",
"With the fourth layer added the cake looks happier again. Reeking of vanilla, it brings up memories of childhood joy.", "With the fourth layer added the cake looks happier again. Reeking of vanilla, it brings up memories of childhood joy.",
"The fifth layer is extremely disturbing on that cake. Smelling of pure copper, it seems that bright blood clots are forming on top.", "The fifth layer is extremely disturbing on that cake. Smelling of pure copper, it seems that bright blood clots are forming on top.",
"The cake is getting closer with the sixth layer added, the pink hue smelling of chocolate, with colourful sprinkles on top.", "The cake is getting closer with the sixth layer added, the pink hue smelling of chocolate, with colourful sprinkles on top.",
"The first pair of triplets rest on the cake, despite being mostly similar to the first three, an evil aura becomes noticable.", "The first pair of triplets rest on the cake, despite being mostly similar to the first three, an evil aura becomes noticable.",
"The second pair of triplets rest on the cake, if you stand on the bright side, you can feel a good aura lifting your mood.", "The second pair of triplets rest on the cake, if you stand on the bright side, you can feel a good aura lifting your mood.",
"A chaos cake. Both a creation of dark and light, the two cakes are kept in a careful balance by that mystical coin in the middle. It's said its effects would dissipate if the balance is ever tipped in favour of one side too much, so both sides much be cut equally." "A chaos cake. Both a creation of dark and light, the two cakes are kept in a careful balance by that mystical coin in the middle. It's said its effects would dissipate if the balance is ever tipped in favour of one side too much, so both sides much be cut equally."
) )
/obj/item/weapon/chaoscake_layer /obj/item/weapon/chaoscake_layer
name = "A layer of cake" name = "A layer of cake"
desc = "a layer of cake, it is made out of colourful cream." desc = "a layer of cake, it is made out of colourful cream."
icon = 'icons/obj/food.dmi' icon = 'icons/obj/food.dmi'
icon_state = "chaoscake_layer-2" icon_state = "chaoscake_layer-2"
var/layer_stage = 1 var/layer_stage = 1
/obj/item/weapon/chaoscake_layer/three /obj/item/weapon/chaoscake_layer/three
desc = "a layer of cake, glazed in purple." desc = "a layer of cake, glazed in purple."
icon_state = "chaoscake_layer-3" icon_state = "chaoscake_layer-3"
layer_stage = 2 layer_stage = 2
/obj/item/weapon/chaoscake_layer/four /obj/item/weapon/chaoscake_layer/four
desc = "a layer of cake, reminding you of a colouring book." desc = "a layer of cake, reminding you of a colouring book."
icon_state = "chaoscake_layer-4" icon_state = "chaoscake_layer-4"
layer_stage = 3 layer_stage = 3
/obj/item/weapon/chaoscake_layer/five /obj/item/weapon/chaoscake_layer/five
desc = "A layer of cake, smells like copper." desc = "A layer of cake, smells like copper."
icon_state = "chaoscake_layer-5" icon_state = "chaoscake_layer-5"
layer_stage = 4 layer_stage = 4
/obj/item/weapon/chaoscake_layer/six /obj/item/weapon/chaoscake_layer/six
desc = "A layer of cake, featuring colourful sprinkles." desc = "A layer of cake, featuring colourful sprinkles."
icon_state = "chaoscake_layer-6" icon_state = "chaoscake_layer-6"
layer_stage = 5 layer_stage = 5
/obj/item/weapon/chaoscake_layer/seven /obj/item/weapon/chaoscake_layer/seven
desc = "A triplet of evil cake parts." desc = "A triplet of evil cake parts."
icon_state = "chaoscake_layer-7" icon_state = "chaoscake_layer-7"
layer_stage = 6 layer_stage = 6
/obj/item/weapon/chaoscake_layer/eight /obj/item/weapon/chaoscake_layer/eight
desc = "A triplet of good cake parts." desc = "A triplet of good cake parts."
icon_state = "chaoscake_layer-8" icon_state = "chaoscake_layer-8"
layer_stage = 7 layer_stage = 7
/obj/item/weapon/chaoscake_layer/nine /obj/item/weapon/chaoscake_layer/nine
name = "A coin of balance" name = "A coin of balance"
desc = "A very peculiar coin, it seems to stabilise the air around it." desc = "A very peculiar coin, it seems to stabilise the air around it."
icon_state = "chaoscake_layer-9" icon_state = "chaoscake_layer-9"
layer_stage = 8 layer_stage = 8
/obj/structure/chaoscake/proc/HasSliceMissing() /obj/structure/chaoscake/proc/HasSliceMissing()
if(slices < maxslices) if(slices < maxslices)
if(interval >= regentime) if(interval >= regentime)
interval = 0 interval = 0
slices++ slices++
HasSliceMissing() HasSliceMissing()
else else
interval++ interval++
HasSliceMissing() HasSliceMissing()
else else
return return
/obj/item/weapon/reagent_containers/food/snacks/chaoscakeslice /obj/item/weapon/reagent_containers/food/snacks/chaoscakeslice
name = "The Chaos Cake Slice" name = "The Chaos Cake Slice"
desc = "A slice from The Chaos Cake, it pulses weirdly, as if angry to be separated from the whole" desc = "A slice from The Chaos Cake, it pulses weirdly, as if angry to be separated from the whole"
icon = 'icons/obj/food_ch.dmi' //CHOMP Add to appease runtimes, I think, even thought this damn file is not enabled??? icon_state = "chaoscake_slice-1"
icon_state = "chaoscake_slice-1"
center_of_mass = list("x"=16, "y"=10)
center_of_mass = list("x"=16, "y"=10) nutriment_desc = list()
nutriment_desc = list() nutriment_amt = 4
nutriment_amt = 4 volume = 80
volume = 80
/obj/item/weapon/reagent_containers/food/snacks/chaoscakeslice/Initialize()
/obj/item/weapon/reagent_containers/food/snacks/chaoscakeslice/Initialize() . = ..()
. = ..() var/i = rand(1,6)
var/i = rand(1,6) icon_state = "chaoscake_slice-[i]"
icon_state = "chaoscake_slice-[i]" switch(i)
switch(i) if(1)
if(1) name = "Slice Of Evil" //Pretty damn poisonous, takes a lot of work to make safe for consumption, useful for medical.
name = "Slice Of Evil" //Pretty damn poisonous, takes a lot of work to make safe for consumption, useful for medical. desc = "An odd slice, despite the grease and cherries oozing off the top, it smells delicious."
desc = "An odd slice, despite the grease and cherries oozing off the top, it smells delicious." nutriment_desc = list("The desire to consume" = 10) // You won't even taste the poison.
nutriment_desc = list("The desire to consume" = 10) // You won't even taste the poison. reagents.add_reagent("neurotoxic_protein", 2)
reagents.add_reagent("neurotoxic_protein", 2) reagents.add_reagent("shockchem", 2)
reagents.add_reagent("shockchem", 2) reagents.add_reagent("amatoxin", 2)
reagents.add_reagent("amatoxin", 2) reagents.add_reagent("carpotoxin", 2)
reagents.add_reagent("carpotoxin", 2) reagents.add_reagent("spidertoxin", 2)
reagents.add_reagent("spidertoxin", 2) bitesize = 7
bitesize = 7 if(2)
if(2) name = "Slice Of Evil" //A bad trip
name = "Slice Of Evil" //A bad trip desc = "A mysterious slice, coated in purple frosting that smells like grapes."
desc = "A mysterious slice, coated in purple frosting that smells like grapes." nutriment_desc = list("The desire to show off an party" = 10)
nutriment_desc = list("The desire to show off an party" = 10) reagents.add_reagent("stoxin", 2)
reagents.add_reagent("stoxin", 2) reagents.add_reagent("bliss", 10)
reagents.add_reagent("bliss", 10) reagents.add_reagent("serotrotium", 4)
reagents.add_reagent("serotrotium", 4) reagents.add_reagent("cryptobiolin", 8)
reagents.add_reagent("cryptobiolin", 8) reagents.add_reagent("mindbreaker", 10)
reagents.add_reagent("mindbreaker", 10) reagents.add_reagent("psilocybin", 10)
reagents.add_reagent("psilocybin", 10) bitesize = 30 //even a single bite won't make you escape fate.
bitesize = 30 //even a single bite won't make you escape fate. if(3)
if(3) name = "Slice Of Evil" //acidic
name = "Slice Of Evil" //acidic desc = "A menacing slice, smelling clearly of copper, blood clots float on top."
desc = "A menacing slice, smelling clearly of copper, blood clots float on top." nutriment_desc = list("Infernal Rage" = 10)
nutriment_desc = list("Infernal Rage" = 10) reagents.add_reagent("blood", 20)
reagents.add_reagent("blood", 20) reagents.add_reagent("stomacid", 10)
reagents.add_reagent("stomacid", 10) reagents.add_reagent("mutagen", 4)
reagents.add_reagent("mutagen", 4) reagents.add_reagent("thirteenloko", 20)
reagents.add_reagent("thirteenloko", 20) reagents.add_reagent("hyperzine", 10)
reagents.add_reagent("hyperzine", 10) bitesize = 30
bitesize = 30 if(4)
if(4) name = "Slice Of Good" //anti-tox
name = "Slice Of Good" //anti-tox desc = "A colourful slice, smelling of pear and coated in delicious cream."
desc = "A colourful slice, smelling of pear and coated in delicious cream." nutriment_desc = list("Hapiness" = 10)
nutriment_desc = list("Hapiness" = 10) reagents.add_reagent("anti_toxin", 2)
reagents.add_reagent("anti_toxin", 2) reagents.add_reagent("tricordrazine", 2)
reagents.add_reagent("tricordrazine", 2) bitesize = 3
bitesize = 3 if(5)
if(5) name = "Slice Of Good" //anti-oxy
name = "Slice Of Good" //anti-oxy desc = "A light slice, it's pretty to look at and smells of vanilla."
desc = "A light slice, it's pretty to look at and smells of vanilla." nutriment_desc = list("Freedom" = 10)
nutriment_desc = list("Freedom" = 10) reagents.add_reagent("dexalinp", 2)
reagents.add_reagent("dexalinp", 2) reagents.add_reagent("tricordrazine", 2)
reagents.add_reagent("tricordrazine", 2) bitesize = 3
bitesize = 3 if(6)
if(6) name = "Slice Of Good" //anti-burn/brute
name = "Slice Of Good" //anti-burn/brute desc = "A hearty slice, it smells of chocolate and strawberries."
desc = "A hearty slice, it smells of chocolate and strawberries." nutriment_desc = list("Love" = 10)
nutriment_desc = list("Love" = 10) reagents.add_reagent("bicaridine", 2)
reagents.add_reagent("bicaridine", 2) reagents.add_reagent("tricordrazine", 2)
reagents.add_reagent("tricordrazine", 2) reagents.add_reagent("kelotane", 2)
reagents.add_reagent("kelotane", 2) bitesize = 4
bitesize = 4
/obj/structure/chaoscake/attackby(var/obj/item/weapon/W, var/mob/living/user)
/obj/structure/chaoscake/attackby(var/obj/item/weapon/W, var/mob/living/user) if(istype(W,/obj/item/weapon/material/knife))
if(istype(W,/obj/item/weapon/material/knife)) if(edible == 1)
if(edible == 1) HasSliceMissing()
HasSliceMissing() if(slices <= 0)
if(slices <= 0) to_chat(user, "The cake hums away quietly as the chaos powered goodness slowly recovers the large amount of lost mass, best to give it a moment before cutting another slice.")
to_chat(user, "The cake hums away quietly as the chaos powered goodness slowly recovers the large amount of lost mass, best to give it a moment before cutting another slice.") return
return else
else to_chat(user, "You cut a slice of the cake. The slice looks like the cake was just baked, and you can see before your eyes as the spot where you cut the slice slowly regenerates!")
to_chat(user, "You cut a slice of the cake. The slice looks like the cake was just baked, and you can see before your eyes as the spot where you cut the slice slowly regenerates!") slices = slices - 1
slices = slices - 1 icon_state = "chaoscake-[slices]"
icon_state = "chaoscake-[slices]" new /obj/item/weapon/reagent_containers/food/snacks/chaoscakeslice(src.loc)
new /obj/item/weapon/reagent_containers/food/snacks/chaoscakeslice(src.loc)
else
else to_chat(user, "<span class='notice'>It looks so good... But it feels so wrong to eat it before it's finished...</span>")
to_chat(user, "<span class='notice'>It looks so good... But it feels so wrong to eat it before it's finished...</span>") return
return if(istype(W,/obj/item/weapon/chaoscake_layer))
if(istype(W,/obj/item/weapon/chaoscake_layer)) var/obj/item/weapon/chaoscake_layer/C = W
var/obj/item/weapon/chaoscake_layer/C = W if(C.layer_stage == 8)
if(C.layer_stage == 8) to_chat(user, "Finally! The coin on the top, the almighty chaos cake is complete!")
to_chat(user, "Finally! The coin on the top, the almighty chaos cake is complete!") qdel(W)
qdel(W) stage++
stage++ desc = desclist2[stage]
desc = desclist2[stage] icon_state = "chaoscake-6"
icon_state = "chaoscake-6" edible = 1
edible = 1 name = "The Chaos Cake!"
name = "The Chaos Cake!" else if(stage == maxstages)
else if(stage == maxstages) to_chat(user, "The cake is already done!")
to_chat(user, "The cake is already done!") else if(stage == C.layer_stage)
else if(stage == C.layer_stage) to_chat(user, "You add another layer to the cake, nice.")
to_chat(user, "You add another layer to the cake, nice.") qdel(W)
qdel(W) stage++
stage++ desc = desclist2[stage]
desc = desclist2[stage] icon_state = "chaoscake_unfinished-[stage]"
icon_state = "chaoscake_unfinished-[stage]" else
else to_chat(user, "Hmm, doesn't seem like this layer is supposed to be added there?")
to_chat(user, "Hmm, doesn't seem like this layer is supposed to be added there?")
// The One Pizza
/obj/structure/theonepizza
name = "The One Pizza"
desc = "...it's real."
icon = 'icons/obj/food64x64.dmi'
icon_state = "theonepizza"
pixel_x = -16
pixel_y = -16
var/slicetime = 15 SECONDS
var/slicelist = list(/obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/margherita/bigslice,
/obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/pineapple/bigslice,
/obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/meatpizza/bigslice,
/obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/mushroompizza/bigslice,
/obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/vegetablepizza/bigslice)
/obj/structure/theonepizza/attackby(var/obj/item/weapon/W, var/mob/living/user)
if(istype(W,/obj/item/weapon/material/knife))
user.visible_message("<b>\The [user]</b> starts to slowly cut through The One Pizza.", "<span class='notice'>You start to slowly cut through The One Pizza.</span>")
if(do_after(user, slicetime, exclusive = TASK_USER_EXCLUSIVE))
if(!src)
return // We got disappeared already
user.visible_message("<b>\The [user]</b> successfully cuts The One Pizza.", "<span class='notice'>You successfully cut The One Pizza.</span>")
for(var/slicetype in slicelist)
new slicetype(src.loc)
qdel(src)
/obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/margherita/bigslice
name = "Giant Margherita slice"
desc = "Big enough to be a sign at a pizzeria."
icon_state = "big_cheese_slice"
/obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/pineapple/bigslice
name = "Giant ham & pineapple pizza slice"
desc = "This thing probably constitutes an italian warcrime."
icon_state = "big_pineapple_slice"
/obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/meatpizza/bigslice
name = "Giant meatpizza slice"
desc = "A Meat Feast fit for a king."
icon_state = "big_meat_slice"
/obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/mushroompizza/bigslice
name = "Giant mushroompizza slice"
desc = "Practically a honey mushroom at this scale."
icon_state = "big_mushroom_slice"
/obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/vegetablepizza/bigslice
name = "Giant vegetable pizza slice"
desc = "So healthy it'll give you a heart attack."
icon_state = "big_veggie_slice"
/datum/recipe/theonepizza
fruit = list("tomato" = 5, "mushroom" = 5, "eggplant" = 1, "carrot" = 1, "corn" = 1)
items = list(
/obj/item/weapon/reagent_containers/food/snacks/sliceable/flatdough,
/obj/item/weapon/reagent_containers/food/snacks/sliceable/flatdough,
/obj/item/weapon/reagent_containers/food/snacks/sliceable/flatdough,
/obj/item/weapon/reagent_containers/food/snacks/sliceable/flatdough,
/obj/item/weapon/reagent_containers/food/snacks/sliceable/flatdough,
/obj/item/weapon/reagent_containers/food/snacks/cheesewedge,
/obj/item/weapon/reagent_containers/food/snacks/cheesewedge,
/obj/item/weapon/reagent_containers/food/snacks/cheesewedge,
/obj/item/weapon/reagent_containers/food/snacks/cheesewedge,
/obj/item/weapon/reagent_containers/food/snacks/cheesewedge,
/obj/item/weapon/reagent_containers/food/snacks/cheesewedge,
/obj/item/weapon/reagent_containers/food/snacks/cheesewedge,
/obj/item/weapon/reagent_containers/food/snacks/cheesewedge,
/obj/item/weapon/reagent_containers/food/snacks/meat,
/obj/item/weapon/reagent_containers/food/snacks/meat,
/obj/item/weapon/reagent_containers/food/snacks/meat,
/obj/item/weapon/reagent_containers/food/snacks/pineapple_ring,
/obj/item/weapon/reagent_containers/food/snacks/pineapple_ring
)
result = /obj/structure/theonepizza

View File

@@ -517,3 +517,83 @@
else else
user << "Hmm, doesnt seem like this layer is supposed to be added there?" user << "Hmm, doesnt seem like this layer is supposed to be added there?"
// The One Pizza
/obj/structure/theonepizza
name = "The One Pizza"
desc = "...it's real."
icon = 'icons/obj/food64x64.dmi'
icon_state = "theonepizza"
pixel_x = -16
pixel_y = -16
var/slicetime = 15 SECONDS
var/slicelist = list(/obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/margherita/bigslice,
/obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/pineapple/bigslice,
/obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/meatpizza/bigslice,
/obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/mushroompizza/bigslice,
/obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/vegetablepizza/bigslice)
/obj/structure/theonepizza/attackby(var/obj/item/weapon/W, var/mob/living/user)
if(istype(W,/obj/item/weapon/material/knife))
user.visible_message("<b>\The [user]</b> starts to slowly cut through The One Pizza.", "<span class='notice'>You start to slowly cut through The One Pizza.</span>")
if(do_after(user, slicetime, exclusive = TASK_USER_EXCLUSIVE))
if(!src)
return // We got disappeared already
user.visible_message("<b>\The [user]</b> successfully cuts The One Pizza.", "<span class='notice'>You successfully cut The One Pizza.</span>")
for(var/slicetype in slicelist)
new slicetype(src.loc)
qdel(src)
/obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/margherita/bigslice
name = "Giant Margherita slice"
desc = "Big enough to be a sign at a pizzeria."
icon_state = "big_cheese_slice"
/obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/pineapple/bigslice
name = "Giant ham & pineapple pizza slice"
desc = "This thing probably constitutes an italian warcrime."
icon_state = "big_pineapple_slice"
/obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/meatpizza/bigslice
name = "Giant meatpizza slice"
desc = "A Meat Feast fit for a king."
icon_state = "big_meat_slice"
/obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/mushroompizza/bigslice
name = "Giant mushroompizza slice"
desc = "Practically a honey mushroom at this scale."
icon_state = "big_mushroom_slice"
/obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/vegetablepizza/bigslice
name = "Giant vegetable pizza slice"
desc = "So healthy it'll give you a heart attack."
icon_state = "big_veggie_slice"
/datum/recipe/theonepizza
fruit = list("tomato" = 5, "mushroom" = 5, "eggplant" = 1, "carrot" = 1, "corn" = 1)
items = list(
/obj/item/weapon/reagent_containers/food/snacks/sliceable/flatdough,
/obj/item/weapon/reagent_containers/food/snacks/sliceable/flatdough,
/obj/item/weapon/reagent_containers/food/snacks/sliceable/flatdough,
/obj/item/weapon/reagent_containers/food/snacks/sliceable/flatdough,
/obj/item/weapon/reagent_containers/food/snacks/sliceable/flatdough,
/obj/item/weapon/reagent_containers/food/snacks/cheesewedge,
/obj/item/weapon/reagent_containers/food/snacks/cheesewedge,
/obj/item/weapon/reagent_containers/food/snacks/cheesewedge,
/obj/item/weapon/reagent_containers/food/snacks/cheesewedge,
/obj/item/weapon/reagent_containers/food/snacks/cheesewedge,
/obj/item/weapon/reagent_containers/food/snacks/cheesewedge,
/obj/item/weapon/reagent_containers/food/snacks/cheesewedge,
/obj/item/weapon/reagent_containers/food/snacks/cheesewedge,
/obj/item/weapon/reagent_containers/food/snacks/meat,
/obj/item/weapon/reagent_containers/food/snacks/meat,
/obj/item/weapon/reagent_containers/food/snacks/meat,
/obj/item/weapon/reagent_containers/food/snacks/pineapple_ring,
/obj/item/weapon/reagent_containers/food/snacks/pineapple_ring
)
result = /obj/structure/theonepizza

View File

@@ -1,3 +1,6 @@
/*
* Laser Rifle
*/
/obj/item/weapon/gun/energy/laser /obj/item/weapon/gun/energy/laser
name = "laser rifle" name = "laser rifle"
desc = "A Hephaestus Industries G40E rifle, designed to kill with concentrated energy blasts. This variant has the ability to \ desc = "A Hephaestus Industries G40E rifle, designed to kill with concentrated energy blasts. This variant has the ability to \
@@ -53,17 +56,23 @@
list(mode_name="suppressive", projectile_type=/obj/item/projectile/beam/practice, charge_cost = 12), list(mode_name="suppressive", projectile_type=/obj/item/projectile/beam/practice, charge_cost = 12),
) )
//Functionally identical, but slightly higher tech due to rarer. /*
* Sleek Laser Rifle
*/
/obj/item/weapon/gun/energy/laser/sleek /obj/item/weapon/gun/energy/laser/sleek
name = "\improper LR1 Shishi" name = "\improper LR1 \"Shishi\""
desc = "A Bishamonten Company LR1 Shishi rifle, a rare early 23rd century futurist design with a nonetheless timeless ability to kill." desc = "A Bishamonten Company LR1 \"Shishi\" rifle, a rare early 23rd century futurist design with a nonetheless timeless ability to kill."
description_fluff = "Bisamonten was arms company that operated from roughly 2150-2280 - the height of the first extrasolar colonisation boom - before filing for bankruptcy and selling off its assets to various companies that would go on to become todays TSCs. \ description_fluff = "Bisamonten was arms company that operated from roughly 2150-2280 - the height of the first extrasolar colonisation boom - before filing for \
Focused on sleek futurist designs which have largely fallen out of fashion but remain popular with collectors and people hoping to make some quick thalers from replica weapons. \ bankruptcy and selling off its assets to various companies that would go on to become todays TSCs. Focused on sleek futurist designs which have largely \
Their weapons tended to be form over function - despite their flashy looks, most were completely unremarkable one way or another as weapons and used very standard firing mechanisms." fallen out of fashion but remain popular with collectors and people hoping to make some quick thalers from replica weapons. Their weapons tended to be form \
over function - despite their flashy looks, most were completely unremarkable one way or another as weapons and used very standard firing mechanisms."
icon_state = "lrifle" icon_state = "lrifle"
item_state = "lrifle" item_state = "lrifle"
origin_tech = list(TECH_COMBAT = 4, TECH_MAGNET = 3) origin_tech = list(TECH_COMBAT = 4, TECH_MAGNET = 3)
/*
* Retro Laser Rifle
*/
/obj/item/weapon/gun/energy/retro /obj/item/weapon/gun/energy/retro
name = "retro laser" name = "retro laser"
icon_state = "retro" icon_state = "retro"
@@ -82,6 +91,9 @@
icon_state = "retro" icon_state = "retro"
cell_type = null cell_type = null
/*
* Alien Pistol
*/
/datum/category_item/catalogue/anomalous/precursor_a/alien_pistol /datum/category_item/catalogue/anomalous/precursor_a/alien_pistol
name = "Precursor Alpha Weapon - Appendageheld Laser" name = "Precursor Alpha Weapon - Appendageheld Laser"
@@ -129,6 +141,9 @@
move_delay = 0 // CHOMPEdit: Pistols have move_delay of 0 move_delay = 0 // CHOMPEdit: Pistols have move_delay of 0
/*
* Antique Laser Gun
*/
/obj/item/weapon/gun/energy/captain /obj/item/weapon/gun/energy/captain
name = "antique laser gun" name = "antique laser gun"
icon_state = "caplaser" icon_state = "caplaser"
@@ -250,6 +265,9 @@
return return
*/ */
/*
* Laser Cannon
*/
/obj/item/weapon/gun/energy/lasercannon /obj/item/weapon/gun/energy/lasercannon
name = "laser cannon" name = "laser cannon"
desc = "With the laser cannon, the lasing medium is enclosed in a tube lined with uranium-235 and subjected to high neutron \ desc = "With the laser cannon, the lasing medium is enclosed in a tube lined with uranium-235 and subjected to high neutron \
@@ -279,6 +297,9 @@
charge_cost = 400 charge_cost = 400
fire_delay = 20 fire_delay = 20
/*
* X-ray
*/
/obj/item/weapon/gun/energy/xray /obj/item/weapon/gun/energy/xray
name = "xray laser gun" name = "xray laser gun"
desc = "A high-power laser gun capable of expelling concentrated xray blasts, which are able to penetrate matter easier than \ desc = "A high-power laser gun capable of expelling concentrated xray blasts, which are able to penetrate matter easier than \
@@ -291,6 +312,9 @@
charge_cost = 200 charge_cost = 200
w_class = ITEMSIZE_LARGE //CHOMP Edit. - huge is too big, this thing hits for 25 w_class = ITEMSIZE_LARGE //CHOMP Edit. - huge is too big, this thing hits for 25
/*
* Marksman Rifle
*/
/obj/item/weapon/gun/energy/sniperrifle /obj/item/weapon/gun/energy/sniperrifle
name = "marksman energy rifle" name = "marksman energy rifle"
desc = "The HI DMR 9E is an older design of Hephaestus Industries. A designated marksman rifle capable of shooting powerful \ desc = "The HI DMR 9E is an older design of Hephaestus Industries. A designated marksman rifle capable of shooting powerful \
@@ -327,18 +351,96 @@
toggle_scope(2.0) toggle_scope(2.0)
/*
* Laser Scattergun (proof of concept)
*/
/obj/item/weapon/gun/energy/lasershotgun
name = "laser scattergun"
icon = 'icons/obj/energygun.dmi'
item_state = "laser"
icon_state = "scatter"
desc = "A strange Almachi weapon, utilizing a refracting prism to turn a single laser blast into a diverging cluster."
origin_tech = list(TECH_COMBAT = 3, TECH_MAGNET = 1, TECH_MATERIAL = 4)
projectile_type = /obj/item/projectile/scatter/laser
w_class = ITEMSIZE_HUGE //CHOMP Edit.
slot_flags = SLOT_BELT|SLOT_BACK //CHOMP Edit because you can still holster it despite it not fitting in a backpack.
/*
* Imperial Pistol
*/
/obj/item/weapon/gun/energy/imperial
name = "imperial energy pistol"
desc = "An elegant weapon developed by the Imperium Auream. Their weaponsmiths have cleverly found a way to make a gun that \
is only about the size of an average energy pistol, yet with the fire power of a laser carbine."
icon = 'icons/obj/gun_vr.dmi'
icon_override = 'icons/obj/gun_vr.dmi'
icon_state = "ge_pistol"
item_state = "ge_pistol"
slot_flags = SLOT_BELT
w_class = ITEMSIZE_NORMAL
force = 10
origin_tech = list(TECH_COMBAT = 4, TECH_MAGNET = 2)
matter = list(MAT_STEEL = 2000)
fire_sound = 'sound/weapons/mandalorian.ogg'
projectile_type = /obj/item/projectile/beam/imperial
/*
* Mining-Laser Rifle
*/
/obj/item/weapon/gun/energy/mininglaser
name = "mining-laser rifle"
desc = "An industrial grade mining laser. Comes with a built-in 'stun' mode for encounters with local wildlife."
icon = 'icons/obj/gun.dmi'
icon_state = "mininglaser"
item_state = "mininglaser"
fire_delay = 8
slot_flags = SLOT_BELT|SLOT_BACK
w_class = ITEMSIZE_LARGE
force = 15
origin_tech = list(TECH_COMBAT = 3, TECH_MAGNET = 2)
matter = list(MAT_STEEL = 2000)
projectile_type = /obj/item/projectile/beam/mininglaser
firemodes = list(
list(mode_name="mining", fire_delay=8, projectile_type=/obj/item/projectile/beam/mininglaser, charge_cost = 200),
list(mode_name="deter", fire_delay=5, projectile_type=/obj/item/projectile/beam/weaklaser, charge_cost = 80),
)
/*
* Old Laser Rifle
*/
/obj/item/weapon/gun/energy/laser/old
name = "vintage laser rifle"
desc = "A Hephaestus Industries G32E rifle, designed to kill with concentrated energy blasts. This older model laser rifle only has one firemode."
description_fluff = "The leading arms producer in the SCG, Hephaestus typically only uses its 'top level' branding for its military-grade \
equipment used by armed forces across human space."
icon_state = "oldlaser"
item_state = "laser"
fire_delay = 6
slot_flags = SLOT_BELT
w_class = ITEMSIZE_NORMAL
force = 8
origin_tech = list(TECH_COMBAT = 2, TECH_MAGNET = 1) //Older rifle - less tech
matter = list(MAT_STEEL = 1500)
projectile_type = /obj/item/projectile/beam/midlaser
/*
* Mono-Rifle
*/
/obj/item/weapon/gun/energy/monorifle /obj/item/weapon/gun/energy/monorifle
name = "antique mono-rifle" name = "antique mono-rifle"
desc = "An old laser rifle. This one can only fire once before requiring recharging." desc = "An old model laser rifle with a nice wood finish. This weapon was only designed to fire once before requiring a recharge."
description_fluff = "Modeled after ancient hunting rifles, this rifle was dubbed the 'Rainy Day Special' by some, due to its use as some barmens' fight-stopper of choice. One shot is all it takes, or so they say." description_fluff = "Modeled after ancient hunting rifles designs, this rifle was dubbed the 'Rainy Day Special' by some, due to its use as the \
icon = 'icons/obj/energygun.dmi' choice \"fight-stopper\" of barkeeps. One shot is all it takes... so they say."
icon_state = "mono" icon_state = "mono"
item_state = "shotgun" item_state = "shotgun"
origin_tech = list(TECH_COMBAT = 6, TECH_MATERIAL = 4, TECH_POWER = 3) origin_tech = list(TECH_COMBAT = 6, TECH_MATERIAL = 4, TECH_POWER = 3)
projectile_type = /obj/item/projectile/beam/sniper projectile_type = /obj/item/projectile/beam/sniper
slot_flags = SLOT_BACK slot_flags = SLOT_BACK
action_button_name = "Aim Down Sights" action_button_name = "Aim Down Sights"
charge_cost = 1300 charge_cost = 2400
fire_delay = 20 fire_delay = 20
force = 8 force = 8
w_class = ITEMSIZE_HUGE //CHOMP Edit. w_class = ITEMSIZE_HUGE //CHOMP Edit.
@@ -359,25 +461,12 @@
/obj/item/weapon/gun/energy/monorifle/combat /obj/item/weapon/gun/energy/monorifle/combat
name = "combat mono-rifle" name = "combat mono-rifle"
desc = "A modernized version of the mono-rifle. This one can fire twice before requiring recharging." desc = "A modernized version of the classic mono-rifle. This one has an optimized capacitor bank that allows the rifle to fire twice before requiring a recharge."
description_fluff = "A modern design produced by a small company operating out of Saint Columbia, based on the antique mono-rifle 'Rainy Day Special' design." description_fluff = "A modern design of a classic rifle produced by a small arms company operating out of Saint Columbia. It was based on the \
antique mono-rifle design that was dubbed the 'Rainy Day Special' by many of its users."
icon_state = "cmono" icon_state = "cmono"
item_state = "cshotgun" item_state = "cshotgun"
charge_cost = 1000 charge_cost = 1200
force = 12 force = 12
accuracy = 0 accuracy = 0
scoped_accuracy = 20 scoped_accuracy = 20
// Laser scattergun, proof of concept.
/obj/item/weapon/gun/energy/lasershotgun
name = "laser scattergun"
icon = 'icons/obj/energygun.dmi'
item_state = "laser"
icon_state = "scatter"
desc = "A strange Almachi weapon, utilizing a refracting prism to turn a single laser blast into a diverging cluster."
origin_tech = list(TECH_COMBAT = 3, TECH_MAGNET = 1, TECH_MATERIAL = 4)
projectile_type = /obj/item/projectile/scatter/laser
w_class = ITEMSIZE_HUGE //CHOMP Edit.
slot_flags = SLOT_BELT|SLOT_BACK //CHOMP Edit because you can still holster it despite it not fitting in a backpack.

View File

@@ -3,8 +3,10 @@
*/ */
/obj/item/weapon/gun/energy/gun /obj/item/weapon/gun/energy/gun
name = "energy gun" name = "energy gun"
desc = "Another bestseller of Lawson Arms, the LAEP80 Thor is a versatile energy based pistol, capable of switching between low and high capacity projectile settings. In other words: Stun or Kill." desc = "Another bestseller of Lawson Arms, the LAEP80 Thor is a versatile energy based pistol, capable of switching between low and high \
description_fluff = "Lawson Arms is Hephaestus Industries main personal-energy-weapon branding, often sold alongside MarsTech projectile weapons to security and law enforcement agencies." capacity projectile settings. In other words: Stun or Kill."
description_fluff = "Lawson Arms is Hephaestus Industries main personal-energy-weapon branding, often sold alongside MarsTech projectile \
weapons to security and law enforcement agencies."
icon = 'icons/obj/gun.dmi' // CHOMPEdit: Gun Sprites icon = 'icons/obj/gun.dmi' // CHOMPEdit: Gun Sprites
icon_state = "egunstun" icon_state = "egunstun"
item_state = null //so the human update icon uses the icon_state instead. item_state = null //so the human update icon uses the icon_state instead.
@@ -24,7 +26,8 @@
*/ */
/obj/item/weapon/gun/energy/gun/rifle /obj/item/weapon/gun/energy/gun/rifle
name = "energy rifle" name = "energy rifle"
desc = "Another bestseller of Lawson Arms, the LAEP100 Svarog is a versatile energy rifle, capable of switching between low and high capacity projectile settings. In other words: Stun or Kill." desc = "Another bestseller of Lawson Arms, the LAEP100 Svarog is a versatile energy rifle, capable of switching between low and high capacity \
projectile settings. In other words: Stun or Kill."
icon_state = "riflestun" icon_state = "riflestun"
item_state = null //so the human update icon uses the icon_state instead. item_state = null //so the human update icon uses the icon_state instead.
wielded_item_state = "riflestun-wielded" wielded_item_state = "riflestun-wielded"
@@ -47,7 +50,8 @@
*/ */
/obj/item/weapon/gun/energy/gun/burst /obj/item/weapon/gun/energy/gun/burst
name = "energy carbine" name = "energy carbine"
desc = "The Lawson Arms FM-2t is a versatile energy based carbine made from modifying the original LAEP100 design. It is capable of switching between stun or kill with a three round burst option for both settings." desc = "The Lawson Arms FM-2t is a versatile energy based carbine made from modifying the original LAEP100 design. It is capable of switching \
between stun or kill with a three round burst option for both settings."
icon_state = "energystun" icon_state = "energystun"
item_state = null //so the human update icon uses the icon_state instead. item_state = null //so the human update icon uses the icon_state instead.
force = 8 force = 8
@@ -66,14 +70,41 @@
list(mode_name="lethal burst", burst=3, fire_delay=null, move_delay=4, burst_accuracy=list(0,0,0), dispersion=list(0.0, 0.2, 0.5), projectile_type=/obj/item/projectile/beam/burstlaser, modifystate="energykill"), list(mode_name="lethal burst", burst=3, fire_delay=null, move_delay=4, burst_accuracy=list(0,0,0), dispersion=list(0.0, 0.2, 0.5), projectile_type=/obj/item/projectile/beam/burstlaser, modifystate="energykill"),
) )
/*
* Energy Thompson (RCW)
*/
/obj/item/weapon/gun/energy/gun/etommy
name = "Energy RCW"
desc = "The Lawson Arms experimental Rapid Capacitor Weapon is a highly reguarded and deadly peice of military hardware. Using a large drum shaped \
capacitor bank the weapon is capable of accurate, rapid burst fire."
description_fluff = "The Rapid Capacitor Weapon is one of a few weapons that never saw full production. IT was an experimental Shock Trooper weapon developed by \
Lawsom Arms during the Hegemony Conflict. While only a few hundred were made it didn't take long for smaller arms dealers to break apart stolen units and revese engineer \
the tech used in their design. While they're an uncommon sight, they're known to be used by roving bands in the Salthan Fyrds as a forms of personal protection because \
of their ease of use and firepower."
icon_state = "etommy"
item_state = "fm-2tkill"
force = 8
w_class = ITEMSIZE_LARGE
fire_delay = 7
charge_meter = 0 //ChompEDIT - tommylaser doesn't have charge sprites.
projectile_type = /obj/item/projectile/beam/burstlaser
origin_tech = list(TECH_COMBAT = 5, TECH_MAGNET = 3, TECH_ILLEGAL = 4)
firemodes = list(
list(mode_name="lethal", burst=1, projectile_type=/obj/item/projectile/beam/burstlaser, charge_cost = 200),
list(mode_name="lethal burst", burst=4, fire_delay=null, move_delay=4, burst_accuracy=list(0,0,0), dispersion=list(0.0, 0.2, 0.5), projectile_type=/obj/item/projectile/beam/burstlaser),
)
/* /*
* Energy PDW (Martin) * Energy PDW (Martin)
*/ */
/obj/item/weapon/gun/energy/gun/compact /obj/item/weapon/gun/energy/gun/compact
name = "personal energy weapon" name = "personal energy weapon"
desc = "The RayZar EW20 \"Martin\" personal energy weapon - or PEW - is Ward-Takahasi's entry into the variable capacity energy gun market. New users are advised to 'set RayZars to stun'." desc = "The RayZar EW20 \"Martin\" personal energy weapon - or PEW - is Ward-Takahasi's entry into the variable capacity energy gun market. \
description_fluff = "RayZar is Ward-Takahashis main consumer weapons brand, known for producing and licensing a wide variety of specialist energy weapons of various types and quality primarily for the civilian market." New users are advised to 'set RayZars to stun'."
description_fluff = "RayZar is Ward-Takahashis main consumer weapons brand, known for producing and licensing a wide variety of specialist \
energy weapons of various types and quality primarily for the civilian market."
icon_state = "PDWstun" icon_state = "PDWstun"
fire_sound = 'sound/weapons/Taser.ogg' fire_sound = 'sound/weapons/Taser.ogg'
w_class = ITEMSIZE_SMALL w_class = ITEMSIZE_SMALL
@@ -91,7 +122,8 @@
*/ */
/obj/item/weapon/gun/energy/gun/eluger /obj/item/weapon/gun/energy/gun/eluger
name = "energy Luger" name = "energy Luger"
desc = "The finest sidearm produced by RauMauser. Although its battery cannot be removed, its ergonomic design makes it easy to shoot, allowing for rapid follow-up shots. It also has the ability to toggle between stun and kill." desc = "The finest sidearm produced by RauMauser. Although its battery cannot be removed, its ergonomic design makes it easy to shoot, allowing \
for rapid follow-up shots. It also has the ability to toggle between stun and kill."
icon_state = "ep08stun" icon_state = "ep08stun"
item_state = "gun" item_state = "gun"
fire_delay = null // Lugers are quite comfortable to shoot, thus allowing for more controlled follow-up shots. Rate of fire similar to a laser carbine. fire_delay = null // Lugers are quite comfortable to shoot, thus allowing for more controlled follow-up shots. Rate of fire similar to a laser carbine.
@@ -134,4 +166,4 @@
firemodes = list( firemodes = list(
list(mode_name="stun", projectile_type=/obj/item/projectile/beam/stun, modifystate="nucgunstun", charge_cost = 240), list(mode_name="stun", projectile_type=/obj/item/projectile/beam/stun, modifystate="nucgunstun", charge_cost = 240),
list(mode_name="lethal", projectile_type=/obj/item/projectile/beam, modifystate="nucgunkill", charge_cost = 480), list(mode_name="lethal", projectile_type=/obj/item/projectile/beam, modifystate="nucgunkill", charge_cost = 480),
) )

View File

@@ -1,6 +1,10 @@
/*
* Pulse Rifle
*/
/obj/item/weapon/gun/energy/pulse_rifle /obj/item/weapon/gun/energy/pulse_rifle
name = "pulse rifle" name = "\improper LP1 Locust Rifle"
desc = "A weapon that uses advanced pulse-based beam generation technology to emit powerful laser blasts. Because of its complexity and cost, it is rarely seen in use except by specialists." desc = "The Bishamonten LP1 is a weapon that uses advanced pulse-based beam generation technology to emit powerful laser blasts. \
Because of its complexity and cost, it is rarely seen in use except by specialists."
icon = 'icons/obj/gun.dmi' // CHOMPEdit: Gun Sprites icon = 'icons/obj/gun.dmi' // CHOMPEdit: Gun Sprites
icon_state = "pulse" icon_state = "pulse"
item_state = null //so the human update icon uses the icon_state instead. item_state = null //so the human update icon uses the icon_state instead.
@@ -8,6 +12,7 @@
force = 10 force = 10
projectile_type = /obj/item/projectile/beam projectile_type = /obj/item/projectile/beam
charge_cost = 120 charge_cost = 120
fire_delay = 8
sel_mode = 2 sel_mode = 2
w_class = ITEMSIZE_HUGE //CHOMP Edit. w_class = ITEMSIZE_HUGE //CHOMP Edit.
@@ -21,31 +26,55 @@
self_recharge = 1 self_recharge = 1
use_external_power = 1 use_external_power = 1
/*
* Pulse Destroyer
*/
/obj/item/weapon/gun/energy/pulse_rifle/destroyer /obj/item/weapon/gun/energy/pulse_rifle/destroyer
name = "pulse destroyer" name = "\improper LP1 MkII"
desc = "A heavy-duty, pulse-based energy weapon. Because of its complexity and cost, it is rarely seen in use except by specialists." desc = "A more heavy-duty version of the Bishamonten LP1. It's had all its safety functions ripped out to facilitate the perfect killing machine."
icon_state = "pulsedest"
projectile_type=/obj/item/projectile/beam/pulse projectile_type=/obj/item/projectile/beam/pulse
charge_cost = 120 charge_cost = 120
fire_delay = 12
/obj/item/weapon/gun/energy/pulse_rifle/destroyer/attack_self(mob/living/user as mob) /obj/item/weapon/gun/energy/pulse_rifle/destroyer/attack_self(mob/living/user as mob)
to_chat(user, "<span class='warning'>[src.name] has three settings, and they are all DESTROY.</span>") to_chat(user, "<span class='warning'>[src.name] has three settings, and they are all DESTROY.</span>")
/*
* Pulse Carbine
*/
/obj/item/weapon/gun/energy/pulse_rifle/carbine
name = "\improper LP2 Grasshopper Carbine"
desc = "The Bishamonten LP2 is a sleek, compact version of the LP1. Because of its smaller design it takes less time to charge a shot."
icon_state = "pulsecarbine"
charge_cost = 480
fire_delay = 2
//non-bus version because it looks adorable. firemodes = list(
list(mode_name="stun", projectile_type=/obj/item/projectile/beam/stun, fire_delay=null, charge_cost = 120),
list(mode_name="lethal", projectile_type=/obj/item/projectile/beam, fire_delay=null, charge_cost = 120),
list(mode_name="DESTROY", projectile_type=/obj/item/projectile/beam/pulse, fire_delay=null, charge_cost = 240),
)
/*
* Pulse Pistol
*/
/obj/item/weapon/gun/energy/pulse_rifle/compact /obj/item/weapon/gun/energy/pulse_rifle/compact
name = "\improper LP2 Grasshopper Compact" name = "\improper LP4 Mantis Compact"
desc = "You feel like you're going to break the damn thing. The Bishamonten LP2 is a rare collectors item from the early 23rd century." desc = "The Bishamonten LP4 was once the weapon of choice for military officers during the Hegemony War. Today it is little more than a collectors item."
description_fluff = "The Bishamonten Company operated from roughly 2150-2280 - the height of the first extrasolar colonisation boom - before filing for bankruptcy and selling off its assets to various companies that would go on to become todays TSCs. \ description_fluff = "The Bishamonten Company operated from roughly 2150-2280 - the height of the first extrasolar colonisation boom - before filing for \
Focused on sleek futurist designs which have largely fallen out of fashion but remain popular with collectors and people hoping to make some quick thalers from replica weapons. \ bankruptcy and selling off its assets to various companies that would go on to become todays TSCs. Focused on sleek futurist designs which have \
Bishamonten weapons tended to be form over function - despite their flashy looks, most were completely unremarkable one way or another as weapons and used very standard firing mechanisms.\ largely fallen out of fashion but remain popular with collectors and people hoping to make some quick thalers from replica weapons. Bishamonten weapons \
The Grasshopper remains one of the smallest production laser pistols ever produced that is still capable of causing significant damage to organic tissue." tended to be form over function - despite their flashy looks, most were completely unremarkable one way or another as weapons and used very standard \
firing mechanisms.The Grasshopper remains one of the smallest production laser pistols ever produced that is still capable of causing significant \
damage to organic tissue."
slot_flags = SLOT_BELT|SLOT_HOLSTER slot_flags = SLOT_BELT|SLOT_HOLSTER
icon_state = "lpistol" icon_state = "pulsepistol"
charge_cost = 480 charge_cost = 480
w_class = ITEMSIZE_NORMAL //CHOMP Edit. w_class = ITEMSIZE_NORMAL //CHOMP Edit.
/obj/item/weapon/gun/energy/pulse_rifle/compact/admin /obj/item/weapon/gun/energy/pulse_rifle/compact/admin
name = "\improper LP2 Grasshopper Deluxe" name = "\improper LP4 Mantis Deluxe"
desc = "It's not the size of the gun, it's the size of the hole it puts through people." desc = "It's not the size of the gun, it's the size of the hole it puts through people."
charge_cost = 240 charge_cost = 240

View File

@@ -72,13 +72,13 @@
var/recharging = 0 var/recharging = 0
var/phase_power = 75 var/phase_power = 75
projectile_type = /obj/item/projectile/beam/blue projectile_type = /obj/item/projectile/beam/phaser
//CHOMP Edit: Changed beam type to new phaser beam type.
modifystate = "phaserkill"
firemodes = list( firemodes = list(
list(mode_name="lethal", fire_delay=12, projectile_type=/obj/item/projectile/beam/blue, modifystate="phaserkill", charge_cost = 300), list(mode_name="lethal", fire_delay=12, projectile_type=/obj/item/projectile/beam/phaser, charge_cost = 300),
list(mode_name="low-power", fire_delay=8, projectile_type=/obj/item/projectile/beam/weaklaser/blue, modifystate="phaserstun", charge_cost = 100), list(mode_name="low-power", fire_delay=8, projectile_type=/obj/item/projectile/beam/phaser/light, charge_cost = 80),
) )
recoil_mode = 0 //CHOMP Addition: Removes recoil for micros.
/obj/item/weapon/gun/energy/locked/frontier/unload_ammo(var/mob/user) /obj/item/weapon/gun/energy/locked/frontier/unload_ammo(var/mob/user)
if(recharging) if(recharging)
@@ -92,7 +92,7 @@
break break
playsound(src,'sound/items/change_drill.ogg',25,1) playsound(src,'sound/items/change_drill.ogg',25,1)
user.hud_used.update_ammo_hud(user, src) user.hud_used.update_ammo_hud(user, src)
if(power_supply.give(phase_power) < phase_power) if(power_supply.give(phase_power/8) < phase_power/8) //CHOMP Edit: Nerfed charge time of all phasers by adding /8 in a couple spots to this line
break break
recharging = 0 recharging = 0
@@ -138,10 +138,11 @@
item_icons = list(slot_l_hand_str = 'icons/mob/items/lefthand_guns.dmi', slot_r_hand_str = 'icons/mob/items/righthand_guns.dmi') item_icons = list(slot_l_hand_str = 'icons/mob/items/lefthand_guns.dmi', slot_r_hand_str = 'icons/mob/items/righthand_guns.dmi')
phase_power = 150 phase_power = 150
modifystate = "phcarbinekill" modifystate = "carbinekill"
//CHOMP Edit: Changed beam type to new phaser beam type.
firemodes = list( firemodes = list(
list(mode_name="lethal", fire_delay=8, projectile_type=/obj/item/projectile/beam/blue, modifystate="phcarbinekill", charge_cost = 300), list(mode_name="lethal", fire_delay=12, projectile_type=/obj/item/projectile/beam/phaser, modifystate="carbinekill", charge_cost = 300),
list(mode_name="low-power", fire_delay=5, projectile_type=/obj/item/projectile/beam/weaklaser/blue, modifystate="phcarbinestun", charge_cost = 100), list(mode_name="low-power", fire_delay=8, projectile_type=/obj/item/projectile/beam/phaser/light, modifystate="carbinestun", charge_cost = 80),
) )
/obj/item/weapon/gun/energy/locked/frontier/carbine/update_icon() /obj/item/weapon/gun/energy/locked/frontier/carbine/update_icon()
@@ -183,15 +184,12 @@
scoped_accuracy = 40 scoped_accuracy = 40
one_handed_penalty = 50 // The weapon itself is heavy, and the long barrel makes it hard to hold steady with just one hand. one_handed_penalty = 50 // The weapon itself is heavy, and the long barrel makes it hard to hold steady with just one hand.
phase_power = 150 //efficient crank charger phase_power = 150 //efficient crank charger
fire_sound = null projectile_type = /obj/item/projectile/beam/phaser/heavy //CHOMPEdit
charge_cost = 600 modifystate = "riflekill"
fire_delay = 35 //CHOMP Edit: Changed beam type to new phaser beam type.
projectile_type = /obj/item/projectile/beam/sniper
modifystate = "phrifledmr"
firemodes = list( firemodes = list(
list(mode_name="sniper", fire_delay=35, projectile_type=/obj/item/projectile/beam/sniper, modifystate="phrifledmr", charge_cost = 600), list(mode_name="sniper", fire_delay=35, projectile_type=/obj/item/projectile/beam/phaser/heavy, modifystate="riflekill", charge_cost = 600),
list(mode_name="lethal", fire_delay=12, projectile_type=/obj/item/projectile/beam, modifystate="phriflekill", charge_cost = 200), list(mode_name="lethal", fire_delay=12, projectile_type=/obj/item/projectile/beam/phaser, modifystate="riflestun", charge_cost = 200),
) )
/obj/item/weapon/gun/energy/locked/frontier/rifle/ui_action_click() /obj/item/weapon/gun/energy/locked/frontier/rifle/ui_action_click()
@@ -261,8 +259,8 @@
charge_cost = 600 charge_cost = 600
modifystate = "handbowkill" modifystate = "handbowkill"
firemodes = list( firemodes = list(
list(mode_name="lethal", fire_delay=12, projectile_type=/obj/item/projectile/energy/bow/heavy, modifystate="handbowkill", charge_cost = 600), list(mode_name="lethal", fire_delay=12, projectile_type=/obj/item/projectile/energy/phase/bolt/heavy, modifystate="handbowkill", charge_cost = 600), //CHOMP Edit
list(mode_name="low-power", fire_delay=8, projectile_type=/obj/item/projectile/energy/bow, modifystate="handbowstun", charge_cost = 200), list(mode_name="low-power", fire_delay=8, projectile_type=/obj/item/projectile/energy/phase/bolt, modifystate="handbowstun", charge_cost = 200), //CHOMP Edit
) )
/obj/item/weapon/gun/energy/locked/frontier/handbow/unlocked /obj/item/weapon/gun/energy/locked/frontier/handbow/unlocked

View File

@@ -1,36 +1,3 @@
/* TUTORIAL
"icon" is the file with the HUD/ground icon for the item
"icon_state" is the iconstate in this file for the item
"icon_override" is the file with the on-mob icons, can be the same file
"item_state" is the iconstate for the on-mob icons:
item_state_s is used for worn uniforms on mobs
item_state_r and item_state_l are for being held in each hand
"item_state_slots" can replace "item_state", it is a list:
item_state_slots["slotname1"] = "item state for that slot"
item_state_slots["slotname2"] = "item state for that slot"
on guns, in particular:
item_state being null makes it look for exactly the icon_state in the on-mob file,
including any 0,75,etc appended from the energy bar setting
item_state being present prevents different mode sprites, sadly, but you may
be able to override this on the gun itself with a proc
*/
/* TEMPLATE
//ckey:Character Name
/obj/item/weapon/gun/type/fluff/charactername
name = ""
desc = ""
icon = 'icons/vore/custom_guns_vr.dmi'
icon_state = "myicon"
icon_override = 'icons/vore/custom_guns_vr.dmi'
item_state = "myicon"
*/
// For general use // For general use
/obj/item/weapon/gun/energy/imperial /obj/item/weapon/gun/energy/imperial
name = "imperial energy pistol" name = "imperial energy pistol"

View File

@@ -1,3 +1,6 @@
/*
* Daka SMG (Code Base)
*/
/obj/item/weapon/gun/projectile/automatic //This should never be spawned in, it is just here because of code necessities. /obj/item/weapon/gun/projectile/automatic //This should never be spawned in, it is just here because of code necessities.
name = "daka SMG" name = "daka SMG"
desc = "A small SMG. You really shouldn't be able to get this gun. Uses 9mm rounds." desc = "A small SMG. You really shouldn't be able to get this gun. Uses 9mm rounds."
@@ -13,11 +16,14 @@
list(mode_name="semiauto", burst=1, fire_delay=0, move_delay=null, burst_accuracy=null, dispersion=null), list(mode_name="semiauto", burst=1, fire_delay=0, move_delay=null, burst_accuracy=null, dispersion=null),
list(mode_name="3-round bursts", burst=3, fire_delay=null, move_delay=4, burst_accuracy=list(0,-15,-15), dispersion=list(0.0, 0.6, 1.0))) list(mode_name="3-round bursts", burst=3, fire_delay=null, move_delay=4, burst_accuracy=list(0,-15,-15), dispersion=list(0.0, 0.6, 1.0)))
/*
* Advanced SMG
*/
/obj/item/weapon/gun/projectile/automatic/advanced_smg /obj/item/weapon/gun/projectile/automatic/advanced_smg
name = "advanced SMG" name = "advanced SMG"
desc = "An advanced submachine gun with a reflective laser optic that makes burst fire less inaccurate than other SMGs. Uses 9mm rounds." desc = "An advanced submachine gun with a reflective laser optic that makes burst fire less inaccurate than other SMGs. Uses 9mm rounds."
icon = 'icons/obj/gun.dmi' icon = 'icons/obj/gun.dmi'
icon_state = "advanced_smg-e" //CHOMPedit icon_state = "advanced_smg-e"
w_class = ITEMSIZE_NORMAL w_class = ITEMSIZE_NORMAL
load_method = MAGAZINE load_method = MAGAZINE
caliber = "9mm" caliber = "9mm"
@@ -33,18 +39,23 @@
/obj/item/weapon/gun/projectile/automatic/advanced_smg/update_icon() /obj/item/weapon/gun/projectile/automatic/advanced_smg/update_icon()
..() ..()
icon_state = (ammo_magazine)? "advanced_smg" : "advanced_smg-e" //CHOMPedit if(ammo_magazine)
return icon_state = "advanced_smg"
else
icon_state = "advanced_smg-e"
/obj/item/weapon/gun/projectile/automatic/advanced_smg/loaded /obj/item/weapon/gun/projectile/automatic/advanced_smg/loaded
magazine_type = /obj/item/ammo_magazine/m9mmAdvanced magazine_type = /obj/item/ammo_magazine/m9mmAdvanced
/*
* C-20r
*/
/obj/item/weapon/gun/projectile/automatic/c20r /obj/item/weapon/gun/projectile/automatic/c20r
name = "submachine gun" name = "submachine gun"
desc = "The C-20r is a lightweight and rapid firing SMG, for when you REALLY need someone dead. It has 'Scarborough Arms - Per falcis, per pravitas', inscribed on the stock. Uses 10mm rounds." desc = "The C-20r is a lightweight and rapid firing SMG, for when you REALLY need someone dead. It has 'Scarborough Arms - Per falcis, per pravitas', inscribed on the stock. Uses 10mm rounds."
description_fluff = "The C-20r is produced by Scarborough Arms, a specialist high-end weapons manufacturer based out of Titan, Sol. Scarborough has resisted numerous efforts by Trans-Stellars to acquire the brand since its founding in 2511, and has gained a dedicated following among a certain flavor of private operative." description_fluff = "The C-20r is produced by Scarborough Arms, a specialist high-end weapons manufacturer based out of Titan, Sol. Scarborough has resisted numerous efforts by Trans-Stellars to acquire the brand since its founding in 2511, and has gained a dedicated following among a certain flavor of private operative."
icon = 'icons/obj/64x32guns_ch.dmi' icon = 'icons/obj/64x32guns_ch.dmi' //Chomp Edit
icon_expected_width = 64 icon_expected_width = 64 //Chomp EDIT
icon_state = "c20r" icon_state = "c20r"
item_state = "c20r" item_state = "c20r"
w_class = ITEMSIZE_NORMAL w_class = ITEMSIZE_NORMAL
@@ -59,7 +70,8 @@
auto_eject = 1 auto_eject = 1
auto_eject_sound = 'sound/weapons/smg_empty_alarm.ogg' auto_eject_sound = 'sound/weapons/smg_empty_alarm.ogg'
// one_handed_penalty = 15 /obj/item/weapon/gun/projectile/automatic/c20r/rubber
magazine_type = /obj/item/ammo_magazine/m10mm/rubber
/obj/item/weapon/gun/projectile/automatic/c20r/empty /obj/item/weapon/gun/projectile/automatic/c20r/empty
magazine_type = null magazine_type = null
@@ -72,6 +84,9 @@
icon_state = "c20r" icon_state = "c20r"
return return
/*
* Assault Carbine (STS-35)
*/
/obj/item/weapon/gun/projectile/automatic/sts35 /obj/item/weapon/gun/projectile/automatic/sts35
name = "assault rifle" name = "assault rifle"
desc = "The rugged Jindal Arms STS-35 is a durable automatic weapon of a make popular on the frontier worlds. Uses 5.45mm rounds." desc = "The rugged Jindal Arms STS-35 is a durable automatic weapon of a make popular on the frontier worlds. Uses 5.45mm rounds."
@@ -98,7 +113,6 @@
firemodes = list( firemodes = list(
list(mode_name="semiauto", burst=1, fire_delay=0, move_delay=null, burst_accuracy=null, dispersion=null), list(mode_name="semiauto", burst=1, fire_delay=0, move_delay=null, burst_accuracy=null, dispersion=null),
list(mode_name="3-round bursts", burst=3, fire_delay=null, move_delay=6, burst_accuracy=list(0,-15,-30), dispersion=list(0.0, 0.6, 0.6)) list(mode_name="3-round bursts", burst=3, fire_delay=null, move_delay=6, burst_accuracy=list(0,-15,-30), dispersion=list(0.0, 0.6, 0.6))
// list(mode_name="short bursts", burst=5, fire_delay=null, move_delay=6, burst_accuracy=list(0,-15,-30,-30,-45), dispersion=list(0.6, 1.0, 1.0, 1.0, 1.2)),
) )
/obj/item/weapon/gun/projectile/automatic/sts35/update_icon(var/ignore_inhands) /obj/item/weapon/gun/projectile/automatic/sts35/update_icon(var/ignore_inhands)
@@ -109,11 +123,44 @@
icon_state = (ammo_magazine)? "arifle" : "arifle-empty" icon_state = (ammo_magazine)? "arifle" : "arifle-empty"
if(!ignore_inhands) update_held_icon() if(!ignore_inhands) update_held_icon()
/*
* X-9mm (PDW)
*/
/obj/item/weapon/gun/projectile/automatic/pdw
name = "personal defense weapon"
desc = "The X-9mm is a select-fire personal defense weapon designed in-house by Xing Private Security. It was made to compete with the WT550 Saber, \
but never caught on with NanoTrasen. Uses 9mm rounds."
icon_state = "pdw"
item_state = "c20r"
w_class = ITEMSIZE_NORMAL
caliber = "9mm"
origin_tech = list(TECH_COMBAT = 5, TECH_MATERIAL = 2)
slot_flags = SLOT_BELT
load_method = MAGAZINE
magazine_type = /obj/item/ammo_magazine/m9mmAdvanced
allowed_magazines = list(/obj/item/ammo_magazine/m9mmAdvanced)
firemodes = list(
list(mode_name="semiauto", burst=1, fire_delay=0, move_delay=null, burst_accuracy=null, dispersion=null),
list(mode_name="3-round bursts", burst=3, fire_delay=null, move_delay=6, burst_accuracy=list(0,-15,-30), dispersion=list(0.0, 0.6, 0.6))
)
/obj/item/weapon/gun/projectile/automatic/pdw/update_icon(var/ignore_inhands)
..()
if(ammo_magazine)
icon_state = "pdw"
else
icon_state = "pdw-e"
return
/*
* Machine Pistol (WT550)
*/
/obj/item/weapon/gun/projectile/automatic/wt550 /obj/item/weapon/gun/projectile/automatic/wt550
name = "machine pistol" name = "machine pistol"
desc = "The WT550 Saber is a cheap self-defense weapon mass-produced by Ward-Takahashi for paramilitary and private use. Uses 9mm rounds." desc = "The WT550 Saber is a cheap self-defense weapon mass-produced by Ward-Takahashi for paramilitary and private use. Uses 9mm rounds."
icon = 'icons/obj/64x32guns_ch.dmi' icon = 'icons/obj/64x32guns_ch.dmi' //Chomp EDIT
icon_expected_width = 64 icon_expected_width = 64 //Chomp EDIT
icon_state = "wt550" icon_state = "wt550"
item_state = "wt550" item_state = "wt550"
w_class = ITEMSIZE_NORMAL w_class = ITEMSIZE_NORMAL
@@ -135,17 +182,21 @@
icon_state = "wt550" icon_state = "wt550"
return return
/*
* Battle Rifle (Z8)
*/
/obj/item/weapon/gun/projectile/automatic/z8 /obj/item/weapon/gun/projectile/automatic/z8
name = "battle rifle" name = "battle rifle"
desc = "The Z8 Bulldog is an older model battle rifle, made by the now defunct Zendai Foundries. Makes you feel like an old-school badass when you hold it, even though it can only hold 10 round magazines. Uses 7.62mm rounds and has an under barrel grenade launcher." desc = "The Z8 Bulldog is an older model battle rifle, made by the now defunct Zendai Foundries. Makes you feel like an old-school badass when you hold it, \
even though it can only hold 10 round magazines. Uses 7.62mm rounds and has an under barrel grenade launcher."
description_fluff = "Zendai Foundries was a well-respected mid-sized arms company that operated until 2508, when it was acquired by Hephaestus Industries. \ description_fluff = "Zendai Foundries was a well-respected mid-sized arms company that operated until 2508, when it was acquired by Hephaestus Industries. \
Plans to integrate the brand into wider corporate operations were brought to an abrupt halt by the SolGov-Hegemony war, and the company was left by the wayside. \ Plans to integrate the brand into wider corporate operations were brought to an abrupt halt by the SolGov-Hegemony war, and the company was left by the wayside. \
Hephaestus still produces replacement parts for many of Zendai's most popular weapons, including the Z8 Bulldog, and a great detail remain in service." Hephaestus still produces replacement parts for many of Zendai's most popular weapons, including the Z8 Bulldog, and a great detail remain in service."
icon = 'icons/obj/64x32guns_ch.dmi' icon = 'icons/obj/64x32guns_ch.dmi' //Chomp EDIT
icon_expected_width = 64 icon_expected_width = 64 //Chomp EDIT
icon_state = "carbine" // This isn't a carbine. :T icon_state = "carbine" // This isn't a carbine. :T
item_state = "z8carbine" item_state = "z8carbine"
wielded_item_state = "z8carbine-wielded" wielded_item_state = "z8bulldog-wielded"
w_class = ITEMSIZE_HUGE //CHOMP Edit. w_class = ITEMSIZE_HUGE //CHOMP Edit.
force = 10 force = 10
caliber = "7.62mm" caliber = "7.62mm"
@@ -213,12 +264,15 @@
/obj/item/weapon/gun/projectile/automatic/z8/empty /obj/item/weapon/gun/projectile/automatic/z8/empty
magazine_type = null magazine_type = null
/*
* LMG (L6 SAW)
*/
/obj/item/weapon/gun/projectile/automatic/l6_saw /obj/item/weapon/gun/projectile/automatic/l6_saw
name = "light machine gun" name = "light machine gun"
desc = "A rather sturdily made L6 SAW with a reassuringly ergonomic pistol grip. 'Hephaestus Industries' is engraved on the receiver. Uses 5.45mm rounds. It's also compatible with magazines from STS-35 assault rifles." desc = "A rather sturdily made L6 SAW with a reassuringly ergonomic pistol grip. 'Hephaestus Industries' is engraved on the receiver. Uses 5.45mm rounds. It's also compatible with magazines from STS-35 assault rifles."
description_fluff = "The leading arms producer in the SCG, Hephaestus typically only uses its 'top level' branding for its military-grade equipment used by professional armed forces across human space." description_fluff = "The leading arms producer in the SCG, Hephaestus typically only uses its 'top level' branding for its military-grade equipment used by professional armed forces across human space."
icon = 'icons/obj/64x32guns_ch.dmi' icon = 'icons/obj/64x32guns_ch.dmi' //Chomp EDIT
icon_expected_width = 64 icon_expected_width = 64 //Chomp EDIT
icon_state = "l6closed100" icon_state = "l6closed100"
item_state = "l6closed" item_state = "l6closed"
wielded_item_state = "genericLMG-wielded" wielded_item_state = "genericLMG-wielded"
@@ -238,15 +292,6 @@
var/cover_open = 0 var/cover_open = 0
/* Commented out for quality control and testing.
firemodes = list(
list(mode_name="semiauto", burst=1, fire_delay=0, move_delay=null, burst_accuracy=null, dispersion=null, automatic = 0),
list(mode_name="3-round bursts", burst=3, fire_delay=null, move_delay=4, burst_accuracy=list(0,-1,-1), dispersion=list(0.0, 0.6, 1.0), automatic = 0),
list(mode_name="short bursts", burst=5, move_delay=6, burst_accuracy = list(0,-1,-1,-2,-2), dispersion = list(0.6, 1.0, 1.0, 1.0, 1.2), automatic = 0),
list(mode_name="automatic", burst=1, fire_delay=-1, move_delay=null, burst_accuracy=null, dispersion=null, automatic = 1),
)
*/
firemodes = list( firemodes = list(
list(mode_name="semiauto", burst=1, fire_delay=0, move_delay=null, burst_accuracy=null, dispersion=null), list(mode_name="semiauto", burst=1, fire_delay=0, move_delay=null, burst_accuracy=null, dispersion=null),
list(mode_name="3-round bursts", burst=3, fire_delay=null, move_delay=4, burst_accuracy=list(0,-15,-15), dispersion=list(0.0, 0.6, 1.0)), list(mode_name="3-round bursts", burst=3, fire_delay=null, move_delay=4, burst_accuracy=list(0,-15,-15), dispersion=list(0.0, 0.6, 1.0)),
@@ -299,7 +344,7 @@
..() ..()
/* /*
* Automatic Shotgun * Automatic Shotgun (AS-24)
*/ */
/obj/item/weapon/gun/projectile/automatic/as24 /obj/item/weapon/gun/projectile/automatic/as24
name = "automatic shotgun" name = "automatic shotgun"
@@ -335,15 +380,18 @@
icon_state = "ashot-empty" icon_state = "ashot-empty"
return return
/*
* Uzi
*/
/obj/item/weapon/gun/projectile/automatic/mini_uzi /obj/item/weapon/gun/projectile/automatic/mini_uzi
name = "micro-smg" name = "micro-smg"
desc = "The infamous ProTek Spitz is a lightweight, compact, fast firing machine pistol. Cheaply produced under the ProTek consumer brand, the Spitz seems to find its way into every corner of the galaxy. Uses .45 rounds." desc = "The infamous ProTek Spitz is a lightweight, compact, fast firing machine pistol. Cheaply produced under the ProTek consumer brand, the Spitz seems to find its way into every corner of the galaxy. Uses .45 rounds."
description_fluff = "Budget-grade weapons for the budget-grade consumer! Hephaestus low-end brand of cheaply made, low-maintenance personal defense weapons for those who just need a handgun with absolutely no frills. \ description_fluff = "Budget-grade weapons for the budget-grade consumer! Hephaestus low-end brand of cheaply made, low-maintenance personal defense weapons for those who just need a handgun with absolutely no frills. \
Early ProTek weapons were notoriously unsafe and unreliable, though more recent designs have improved somewhat - they still arent very good. \ Early ProTek weapons were notoriously unsafe and unreliable, though more recent designs have improved somewhat - they still arent very good. \
Though sold for a pittance, the profit margin is too irresistible for Hephaestus to discontinue the brand." Though sold for a pittance, the profit margin is too irresistible for Hephaestus to discontinue the brand."
icon = 'icons/obj/64x32guns_ch.dmi' icon = 'icons/obj/64x32guns_ch.dmi' //Chomp EDIT
icon_expected_width = 64 icon_expected_width = 64 //Chomp EDIT
icon_state = "mini-uzi" icon_state = "mini-uzi" //Chomp EDIT - uzi --> mini-uzi
w_class = ITEMSIZE_NORMAL w_class = ITEMSIZE_NORMAL
load_method = MAGAZINE load_method = MAGAZINE
caliber = ".45" caliber = ".45"
@@ -419,11 +467,15 @@
icon_state = "p90smg-[ammo_magazine ? round(ammo_magazine.stored_ammo.len, 6) : "empty"]" icon_state = "p90smg-[ammo_magazine ? round(ammo_magazine.stored_ammo.len, 6) : "empty"]"
* CHOMPEDIT Commented out, moved to automatic_ch.dm */ * CHOMPEDIT Commented out, moved to automatic_ch.dm */
/*
* Tommy Gun
*/
/obj/item/weapon/gun/projectile/automatic/tommygun /obj/item/weapon/gun/projectile/automatic/tommygun
name = "\improper Tommy Gun" name = "\improper Tommy Gun"
desc = "This weapon was made famous by gangsters in the 20th century. Cybersun Industries is currently reproducing these for a target market of historic gun collectors and classy criminals. Uses .45 rounds." desc = "This weapon was made famous by gangsters in the 20th century. Cybersun Industries is currently reproducing these for a target market of historic gun collectors and classy criminals. Uses .45 rounds."
description_fluff = "Cybersun Industries is a minor arms manufacturer specialising in replica firearms from eras past. Though they offer a wide selection of made-to-order models, their products are seen as little more than novelty items to most serious collectors." description_fluff = "Cybersun Industries is a minor arms manufacturer specialising in replica firearms from eras past. Though they offer a wide selection of made-to-order models, their products are seen as little more than novelty items to most serious collectors."
icon_state = "tommygun" icon_state = "tommygun"
item_state = "stg44"
w_class = ITEMSIZE_NORMAL w_class = ITEMSIZE_NORMAL
caliber = ".45" caliber = ".45"
origin_tech = list(TECH_COMBAT = 5, TECH_MATERIAL = 2, TECH_ILLEGAL = 5) origin_tech = list(TECH_COMBAT = 5, TECH_MATERIAL = 2, TECH_ILLEGAL = 5)
@@ -438,19 +490,17 @@
) )
/obj/item/weapon/gun/projectile/automatic/tommygun/update_icon() /obj/item/weapon/gun/projectile/automatic/tommygun/update_icon()
//VOREStation Edit Start - vr sprite
if(istype(ammo_magazine,/obj/item/ammo_magazine/m45tommy)) if(istype(ammo_magazine,/obj/item/ammo_magazine/m45tommy))
icon_state = "tommygun-mag" icon_state = "tommygun-mag"
item_state = icon_state
else if(istype(ammo_magazine,/obj/item/ammo_magazine/m45tommydrum)) else if(istype(ammo_magazine,/obj/item/ammo_magazine/m45tommydrum))
icon_state = "tommygun-drum" icon_state = "tommygun-drum"
item_state = icon_state
else else
icon_state = "tommygun-empty" icon_state = "tommygun-e"
item_state = icon_state
update_held_icon() update_held_icon()
//VOREStation Edit End
/*
* Bullpup Rifle
*/
/obj/item/weapon/gun/projectile/automatic/bullpup // Admin abuse assault rifle. ToDo: Make this less shit. Maybe remove its autofire, and make it spawn with only 10 rounds at start. /obj/item/weapon/gun/projectile/automatic/bullpup // Admin abuse assault rifle. ToDo: Make this less shit. Maybe remove its autofire, and make it spawn with only 10 rounds at start.
name = "bullpup rifle" name = "bullpup rifle"
desc = "The bullpup configured GP3000 is a battle rifle produced by Gurov Projectile Weapons LLC. It is sold almost exclusively to standing armies. Uses 7.62mm rounds." desc = "The bullpup configured GP3000 is a battle rifle produced by Gurov Projectile Weapons LLC. It is sold almost exclusively to standing armies. Uses 7.62mm rounds."
@@ -485,7 +535,9 @@
if(!ignore_inhands) if(!ignore_inhands)
update_held_icon() update_held_icon()
//Functionally a mini-uzi with slightly less terrible burst spread. /*
* Combat SMG (PP3 Ten)
*/
/obj/item/weapon/gun/projectile/automatic/combatsmg /obj/item/weapon/gun/projectile/automatic/combatsmg
name = "\improper PP3 Ten" name = "\improper PP3 Ten"
desc = "The Bishamonten PP3 Ten personal defense weapon is a rare design much sought after - though more for its looks than its functionality. Uses 9mm rounds." desc = "The Bishamonten PP3 Ten personal defense weapon is a rare design much sought after - though more for its looks than its functionality. Uses 9mm rounds."

View File

@@ -28,34 +28,6 @@
slot_flags = SLOT_BACK slot_flags = SLOT_BACK
one_handed_penalty = 60 // The weapon itself is heavy one_handed_penalty = 60 // The weapon itself is heavy
// For general use
/obj/item/weapon/gun/projectile/automatic/pdw
name = "personal defense weapon"
desc = "The X-9MM is a select-fire personal defense weapon designed in-house by Xing Private Security. It was made to compete with the WT550 Saber, but never caught on with NanoTrasen. Uses 9mm rounds."
icon = 'icons/obj/gun_vr.dmi'
icon_state = "pdw"
item_state = "c20r" // Placeholder
w_class = ITEMSIZE_NORMAL
caliber = "9mm"
origin_tech = list(TECH_COMBAT = 5, TECH_MATERIAL = 2)
slot_flags = SLOT_BELT
load_method = MAGAZINE
magazine_type = /obj/item/ammo_magazine/m9mml
allowed_magazines = list(/obj/item/ammo_magazine/m9mm, /obj/item/ammo_magazine/m9mml)
firemodes = list(
list(mode_name="semiauto", burst=1, fire_delay=0, move_delay=null, burst_accuracy=null, dispersion=null),
list(mode_name="3-round bursts", burst=3, fire_delay=null, move_delay=6, burst_accuracy=list(0,-15,-30), dispersion=list(0.0, 0.6, 0.6))
)
/obj/item/weapon/gun/projectile/automatic/pdw/update_icon(var/ignore_inhands)
..()
if(istype(ammo_magazine,/obj/item/ammo_magazine/m9mm))
icon_state = "pdw-short"
else
icon_state = (ammo_magazine)? "pdw" : "pdw-empty"
if(!ignore_inhands) update_held_icon()
// For general use // For general use
/obj/item/weapon/gun/projectile/automatic/stg /obj/item/weapon/gun/projectile/automatic/stg
name = "\improper Sturmgewehr" name = "\improper Sturmgewehr"
@@ -77,45 +49,6 @@
item_state = (ammo_magazine)? "arifle" : "arifle-empty" item_state = (ammo_magazine)? "arifle" : "arifle-empty"
if(!ignore_inhands) update_held_icon() if(!ignore_inhands) update_held_icon()
// Removed because gun64_vr.dmi guns don't work.
/*
//-----------------------UF-ARC----------------------------------
/obj/item/weapon/gun/projectile/automatic/carbine/fluff/ufarc
name = "UF-ARC"
desc = "The UF-ARC is a lightweight assault rifle manufactured by the National Armory of Gaia and sold almost exclusively to the United Federation's standing army, the Military Assault Command Operations Department (MACOs)."
icon = 'icons/obj/gun64_vr.dmi'
icon_state = "ufarc"
icon_override = 'icons/obj/gun_vr.dmi'
item_state = "battlerifle_i"
item_icons = null
pixel_x = -16
/obj/item/weapon/gun/projectile/automatic/carbine/fluff/ufarc/update_icon(var/ignore_inhands)
..()
// TODO - Fix this for spriting different size magazines
icon_state = (ammo_magazine)? "ufarc" : "ufarc-empty"
item_state = (ammo_magazine)? "bullpup" : "bullpup-empty"
if(!ignore_inhands) update_held_icon()
//-----------------------G44----------------------------------
/obj/item/weapon/gun/projectile/automatic/carbine/fluff/g44
name = "G44 Rifle"
desc = "The G44 is a lightweight assault rifle manufactured by the National Armory of Gaia and sold almost exclusively to the United Federation's standing army, the Military Assault Command Operations Department (MACOs)."
icon = 'icons/obj/gun64_vr.dmi'
icon_state = "g44"
item_state = "bullpup"
pixel_x = -16
/obj/item/weapon/gun/projectile/automatic/carbine/fluff/g44/update_icon(var/ignore_inhands)
..()
// TODO - Fix this for spriting different size magazines
icon_state = (ammo_magazine)? "g44" : "g44-empty"
item_state = (ammo_magazine)? "bullpup" : "bullpup-empty"
if(!ignore_inhands) update_held_icon()
*/
//////////////////// Eris Ported Guns //////////////////// //////////////////// Eris Ported Guns ////////////////////
// No idea what this is for. // No idea what this is for.
/obj/item/weapon/gun/projectile/automatic/sol /obj/item/weapon/gun/projectile/automatic/sol
@@ -213,17 +146,3 @@
/obj/item/ammo_magazine/m9mml/ap /obj/item/ammo_magazine/m9mml/ap
name = "\improper SMG magazine (9mm armor-piercing)" name = "\improper SMG magazine (9mm armor-piercing)"
ammo_type = /obj/item/ammo_casing/a9mm/ap ammo_type = /obj/item/ammo_casing/a9mm/ap
/* Seems to have been de-coded?
/obj/item/ammo_magazine/m9mml/flash
name = "\improper SMG magazine (9mm flash)"
ammo_type = /obj/item/ammo_casing/a9mmf
/obj/item/ammo_magazine/m9mml/rubber
name = "\improper SMG magazine (9mm rubber)"
ammo_type = /obj/item/ammo_casing/a9mmr
/obj/item/ammo_magazine/m9mml/practice
name = "\improper SMG magazine (9mm practice)"
ammo_type = /obj/item/ammo_casing/a9mmp
*/

Binary file not shown.

Before

Width:  |  Height:  |  Size: 429 KiB

After

Width:  |  Height:  |  Size: 433 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 210 KiB

After

Width:  |  Height:  |  Size: 213 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.4 KiB

After

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

File diff suppressed because it is too large Load Diff

View File

@@ -840,6 +840,15 @@ z
name = "\improper First Deck Fore Auxiliary Dock" name = "\improper First Deck Fore Auxiliary Dock"
icon_state = "docking_hallway" icon_state = "docking_hallway"
//CHOMPStation Edit. Two new areas for the vault.
/area/hallway/primary/firstdeck/vaultcheckpoint
name = "\improper Vault Checkpoint"
icon_state = "nuke_storage"
/area/hallway/primary/firstdeck/vaultlobby
name = "\improper Vault Lobby"
icon_state = "nuke_storage"
//CHOMPStation Edit Start TFF 4/5/20 - One of these ain't the same thing, bruh. Escape Pod 1, Escape Pod 2, Research Access Hallway. //CHOMPStation Edit Start TFF 4/5/20 - One of these ain't the same thing, bruh. Escape Pod 1, Escape Pod 2, Research Access Hallway.
/area/hallway/secondary/escape/firstdeck/ep_port /area/hallway/secondary/escape/firstdeck/ep_port
name = "\improper Large Escape Pod 2 Port" name = "\improper Large Escape Pod 2 Port"

File diff suppressed because one or more lines are too long

View File

@@ -8609,11 +8609,11 @@ __metadata:
linkType: hard linkType: hard
"semver@npm:^5.6.0": "semver@npm:^5.6.0":
version: 5.7.1 version: 5.7.2
resolution: "semver@npm:5.7.1" resolution: "semver@npm:5.7.2"
bin: bin:
semver: ./bin/semver semver: bin/semver
checksum: 57fd0acfd0bac382ee87cd52cd0aaa5af086a7dc8d60379dfe65fea491fb2489b6016400813930ecd61fd0952dae75c115287a1b16c234b1550887117744dfaf checksum: fb4ab5e0dd1c22ce0c937ea390b4a822147a9c53dbd2a9a0132f12fe382902beef4fbf12cf51bb955248d8d15874ce8cd89532569756384f994309825f10b686
languageName: node languageName: node
linkType: hard linkType: hard

View File

@@ -2490,7 +2490,7 @@
#include "code\modules\food\food\snacks.dm" #include "code\modules\food\food\snacks.dm"
#include "code\modules\food\food\snacks_ch.dm" #include "code\modules\food\food\snacks_ch.dm"
#include "code\modules\food\food\snacks_vr.dm" #include "code\modules\food\food\snacks_vr.dm"
#include "code\modules\food\food\thecake_ch.dm" #include "code\modules\food\food\superfoods_ch.dm"
#include "code\modules\food\food\z_custom_food_vr.dm" #include "code\modules\food\food\z_custom_food_vr.dm"
#include "code\modules\food\food\drinks\bottle.dm" #include "code\modules\food\food\drinks\bottle.dm"
#include "code\modules\food\food\drinks\cup.dm" #include "code\modules\food\food\drinks\cup.dm"
@@ -3861,7 +3861,6 @@
#include "code\modules\projectiles\guns\energy\kinetic_accelerator_vr.dm" #include "code\modules\projectiles\guns\energy\kinetic_accelerator_vr.dm"
#include "code\modules\projectiles\guns\energy\laser.dm" #include "code\modules\projectiles\guns\energy\laser.dm"
#include "code\modules\projectiles\guns\energy\laser_ch.dm" #include "code\modules\projectiles\guns\energy\laser_ch.dm"
#include "code\modules\projectiles\guns\energy\laser_vr.dm"
#include "code\modules\projectiles\guns\energy\laser_yw.dm" #include "code\modules\projectiles\guns\energy\laser_yw.dm"
#include "code\modules\projectiles\guns\energy\netgun_vr.dm" #include "code\modules\projectiles\guns\energy\netgun_vr.dm"
#include "code\modules\projectiles\guns\energy\netgun_yw.dm" #include "code\modules\projectiles\guns\energy\netgun_yw.dm"
@@ -3872,6 +3871,7 @@
#include "code\modules\projectiles\guns\energy\protector_vr.dm" #include "code\modules\projectiles\guns\energy\protector_vr.dm"
#include "code\modules\projectiles\guns\energy\pulse.dm" #include "code\modules\projectiles\guns\energy\pulse.dm"
#include "code\modules\projectiles\guns\energy\pummeler_vr.dm" #include "code\modules\projectiles\guns\energy\pummeler_vr.dm"
#include "code\modules\projectiles\guns\energy\pump_ch.dm"
#include "code\modules\projectiles\guns\energy\sickshot_vr.dm" #include "code\modules\projectiles\guns\energy\sickshot_vr.dm"
#include "code\modules\projectiles\guns\energy\special.dm" #include "code\modules\projectiles\guns\energy\special.dm"
#include "code\modules\projectiles\guns\energy\special_vr.dm" #include "code\modules\projectiles\guns\energy\special_vr.dm"