|
429 | 429 | GAS_PLASMA = 10, |
430 | 430 | ) |
431 | 431 |
|
432 | | -/datum/gas_reaction/bzformation/react(datum/gas_mixture/air) |
| 432 | +/datum/gas_reaction/bzformation/react(datum/gas_mixture/air, datum/holder) |
433 | 433 | var/pressure = air.return_pressure() |
434 | 434 | var/old_thermal_energy = air.thermal_energy() |
435 | 435 |
|
|
448 | 448 | air.adjust_moles(GAS_PLASMA, -2*reaction_efficency) |
449 | 449 |
|
450 | 450 | //clamps by a minimum amount in the event of an underflow. |
451 | | - SSresearch.science_tech.add_point_type(TECHWEB_POINT_TYPE_DEFAULT, clamp((reaction_efficency**2)*BZ_RESEARCH_AMOUNT,0.01,BZ_RESEARCH_MAX_AMOUNT)) |
| 451 | + var/turf/holder_turf = get_holder_turf(holder) |
| 452 | + if(holder_turf && SSmapping.level_trait(holder_turf.z, ZTRAIT_STATION)) |
| 453 | + SSresearch.science_tech.add_point_type(TECHWEB_POINT_TYPE_DEFAULT, clamp((reaction_efficency**2)*BZ_RESEARCH_AMOUNT,0.01,BZ_RESEARCH_MAX_AMOUNT)) |
452 | 454 |
|
453 | 455 | if(energy_released > 0) |
454 | 456 | var/new_heat_capacity = air.heat_capacity() |
|
467 | 469 | GAS_TRITIUM = 10, |
468 | 470 | "TEMP" = 5000000) |
469 | 471 |
|
470 | | -/datum/gas_reaction/nobliumformation/react(datum/gas_mixture/air) |
| 472 | +/datum/gas_reaction/nobliumformation/react(datum/gas_mixture/air, datum/holder) |
471 | 473 | var/initial_trit = air.get_moles(GAS_TRITIUM) |
472 | 474 | var/initial_n2 = air.get_moles(GAS_N2) |
473 | 475 | var/initial_bz = air.get_moles(GAS_BZ) |
|
480 | 482 | air.adjust_moles(GAS_TRITIUM, -10*nob_formed) |
481 | 483 | air.adjust_moles(GAS_N2, -20*nob_formed) |
482 | 484 | air.adjust_moles(GAS_HYPERNOB, nob_formed) |
483 | | - SSresearch.science_tech.add_point_type(TECHWEB_POINT_TYPE_DEFAULT, clamp(nob_formed*NOBLIUM_RESEARCH_AMOUNT, 0.01, NOBLIUM_RESEARCH_MAX_AMOUNT)) |
| 485 | + |
| 486 | + var/turf/holder_turf = get_holder_turf(holder) |
| 487 | + if(holder_turf && SSmapping.level_trait(holder_turf.z, ZTRAIT_STATION)) |
| 488 | + SSresearch.science_tech.add_point_type(TECHWEB_POINT_TYPE_DEFAULT, clamp(nob_formed*NOBLIUM_RESEARCH_AMOUNT, 0.01, NOBLIUM_RESEARCH_MAX_AMOUNT)) |
| 489 | + |
484 | 490 | var/new_heat_capacity = air.heat_capacity() |
485 | 491 | if(new_heat_capacity > MINIMUM_HEAT_CAPACITY) |
486 | 492 | air.set_temperature(max(((old_thermal_energy - energy_taken)/new_heat_capacity),TCMB)) |
|
510 | 516 |
|
511 | 517 | //Possibly burning a bit of organic matter through maillard reaction, so a *tiny* bit more heat would be understandable |
512 | 518 | air.set_temperature(air.return_temperature() + cleaned_air * 0.002) |
513 | | - SSresearch.science_tech.add_point_type(TECHWEB_POINT_TYPE_DEFAULT, clamp(cleaned_air*MIASMA_RESEARCH_AMOUNT,0.01, MIASMA_RESEARCH_MAX_AMOUNT))//Turns out the burning of miasma is kinda interesting to scientists |
| 519 | + |
| 520 | + var/turf/holder_turf = get_holder_turf(holder) |
| 521 | + if(holder_turf && SSmapping.level_trait(holder_turf.z, ZTRAIT_STATION)) |
| 522 | + SSresearch.science_tech.add_point_type(TECHWEB_POINT_TYPE_DEFAULT, clamp(cleaned_air*MIASMA_RESEARCH_AMOUNT,0.01, MIASMA_RESEARCH_MAX_AMOUNT))//Turns out the burning of miasma is kinda interesting to scientists |
514 | 523 | return REACTING |
515 | 524 |
|
516 | 525 | /datum/gas_reaction/nitro_ball |
|
730 | 739 | if (prob(25 * increase_factor)) |
731 | 740 | air.adjust_moles(GAS_H2, -(heat_efficency * 10)) |
732 | 741 | new /obj/item/stack/sheet/mineral/metal_hydrogen(location) |
733 | | - SSresearch.science_tech.add_point_type(TECHWEB_POINT_TYPE_DEFAULT, min((heat_efficency * increase_factor * 0.5), METAL_HYDROGEN_RESEARCH_MAX_AMOUNT)) |
| 742 | + var/turf/holder_turf = get_holder_turf(holder) |
| 743 | + if(holder_turf && SSmapping.level_trait(holder_turf.z, ZTRAIT_STATION)) |
| 744 | + SSresearch.science_tech.add_point_type(TECHWEB_POINT_TYPE_DEFAULT, min((heat_efficency * increase_factor * 0.5), METAL_HYDROGEN_RESEARCH_MAX_AMOUNT)) |
734 | 745 |
|
735 | 746 | if(energy_used > 0) |
736 | 747 | var/new_heat_capacity = air.heat_capacity() |
|
0 commit comments