-
Notifications
You must be signed in to change notification settings - Fork 303
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Nebbaymechs as Exosuits, Legally Distinct from Mechas, obviously. #8956
base: master
Are you sure you want to change the base?
Conversation
/obj/item/mech_component/sensors/attackby(var/obj/item/thing, var/mob/user) | ||
if(istype(thing, /obj/item/mech_component/control_module)) | ||
if(software) | ||
to_chat(user, SPAN_WARNING("\The [src] already has a control modules installed.")) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A control module
|
||
/obj/item/ammo_magazine/mech/smg_top | ||
name = "large 7mm magazine" | ||
desc = "A large magazine for a mech's gun. Looks way too big for a normal gun." |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Might want the desc on the parent of this, so it'll show for the other mags?
Right, I don't quite understand why Dreamchecker is complaining now, as 2 are global procs, and one is just a for loop with an internal var |
@@ -0,0 +1,90 @@ | |||
/mob/living/exosuit/premade/light |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This and the sleek exosuit seem to be almost the same thing, just with slight different descriptions/names, are they differernt icons?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Different icons, yes.
For the record, I am working on a review of this, but its size sorta demands it go to the backlog given the volume of PRs open rn. |
2975058
to
5ba9fb1
Compare
34201cd
to
6101752
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That took, entirely longer than it ought to have, but I have completed An Serious Review of this.
code/_onclick/MouseDrag.dm
Outdated
if(A.RelayMouseDrag(src_object, over_object, src_location, over_location, src_control, over_control, params, src)) | ||
return | ||
|
||
if(over_object) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
if(over_object) | |
if(over_object && !incapacitated()) |
code/_onclick/click.dm
Outdated
else if(!isturf(loc)) | ||
var/atom/movable/AM = loc |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What if loc is null?
var/brute_damage = 0 | ||
var/burn_damage = 0 | ||
var/max_damage = 60 | ||
var/damage_state = 1 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Magic number?
dir = SOUTH | ||
|
||
/obj/item/mech_component/proc/query_color(var/mob/living/user) | ||
if(user) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
if(user) | |
if(!istype(user)) | |
return FALSE |
/obj/item/mech_component/examine(mob/user) | ||
. = ..() | ||
if(ready_to_install()) | ||
to_chat(user, SPAN_NOTICE("It is ready for installation.")) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
. += SPAN_NOTICE("It is ready for installation.")
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also need this format in every definition of show_missing_parts()
else | ||
if(!newloc) | ||
newloc = get_step(src, direct) | ||
if(newloc && legs && legs.can_move_on(loc, newloc)) | ||
. = ..(newloc, direct) | ||
next_step = world.time + legs.move_delay | ||
if(. && !istype(loc, /turf/space)) | ||
playsound(src.loc, mech_step_sound, 40, 1) | ||
return . |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
else | |
if(!newloc) | |
newloc = get_step(src, direct) | |
if(newloc && legs && legs.can_move_on(loc, newloc)) | |
. = ..(newloc, direct) | |
next_step = world.time + legs.move_delay | |
if(. && !istype(loc, /turf/space)) | |
playsound(src.loc, mech_step_sound, 40, 1) | |
return . | |
. = FALSE | |
if(!newloc) | |
newloc = get_step(src, direct) | |
if(newloc && legs && legs.can_move_on(loc, newloc)) | |
. = ..(newloc, direct) | |
next_step = world.time + legs.move_delay | |
if(. && !istype(loc, /turf/space)) | |
playsound(src.loc, mech_step_sound, 40, 1) |
All the previous return statements are explicitly returning FALSE anyways.
/* | ||
/datum/movement_handler/mob/space/exosuit | ||
expected_host_type = /mob/living/exosuit | ||
|
||
// Space movement | ||
/datum/movement_handler/mob/space/exosuit/DoMove(var/direction, var/mob/mover) | ||
|
||
if(!mob.check_solid_ground()) | ||
mob.anchored = FALSE | ||
var/allowmove = mob.Allow_Spacemove(0) | ||
if(!allowmove) | ||
return MOVEMENT_HANDLED | ||
else if(allowmove == -1 && mob.handle_spaceslipping()) //Check to see if we slipped | ||
return MOVEMENT_HANDLED | ||
else | ||
mob.inertia_dir = 0 //If not then we can reset inertia and move | ||
else mob.anchored = TRUE | ||
|
||
/datum/movement_handler/mob/space/exosuit/MayMove(var/mob/mover, var/is_external) | ||
if((mover != host) && is_external) | ||
return MOVEMENT_PROCEED | ||
|
||
if(!mob.check_solid_ground()) | ||
if(!mob.Allow_Spacemove(0)) | ||
return MOVEMENT_STOP | ||
return MOVEMENT_PROCEED | ||
|
||
/mob/living/exosuit/lost_in_space() | ||
for(var/atom/movable/AM in contents) | ||
if(!AM.lost_in_space()) | ||
return FALSE | ||
return !pilots.len | ||
|
||
/mob/living/exosuit/fall_damage() | ||
return 100 //Exosuits are big and heavy | ||
|
||
/mob/living/exosuit/handle_fall_effect(var/turf/landing) | ||
// Return here if for any reason you shouldn´t take damage | ||
..() | ||
var/damage = 30 //Enough to cause a malfunction if unlucky | ||
apply_damage(rand(0, damage), BRUTE, BP_R_LEG) //Any leg is good, will damage both | ||
*/ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Dead code
if(WT.welding) | ||
cutting = TRUE |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Consume weldingfuel?
@@ -0,0 +1,216 @@ | |||
#define BAR_CAP 12 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You should #undef
this at the end of the file, or else it belongs in __defines
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Moved to the defines
/obj/item/mech_component/manipulators/combat | ||
name = "combat arms" | ||
exosuit_desc_string = "flexible, advanced manipulators" | ||
icon_state = "combat_arms" | ||
melee_damage = 5 | ||
action_delay = 10 | ||
power_use = 50 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should all the components defined in /premade go into files in /components that sort by component type, so it's easier to compare the different options?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorted
…n exosuitmob instead of a pilot. R&D designs added.
desc adjustment
Creates initialize-only proc for exos that doesn't care about the user.
0549bfe
to
e6f15eb
Compare
Am I doing something wrong or do rebases just, do that. |
Work on porting baymechs as exosuits, legally distinct from Mechs:tm: